{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "rNdWfPXCjTjY"
   },
   "source": [
    "# Observing Learning Curve Changes\n",
    "\n",
    "**Learning Objectives**\n",
    "\n",
    "### Learning objectives\n",
    "1. xxxxxx\n",
    "2. xxxxxxx\n",
    "3. xxxxxxx \n",
    "\n",
    "\n",
    "## Introduction \n",
    "\n",
    "\n",
    "In this notebook, you will observe learning curve change on ______.  You will use the Keras Sequential Model to build an ML model to predict housing prices.\n",
    "\n",
    "A learning curve is a plot of model learning performance over experience or time.\n",
    "\n",
    "Learning curves are a widely used diagnostic tool in machine learning for algorithms that learn from a training dataset incrementally. The model can be evaluated on the training dataset and on a hold out validation dataset after each update during training and plots of the measured performance can created to show learning curves.\n",
    "\n",
    "Reviewing learning curves of models during training can be used to diagnose problems with learning, such as an underfit or overfit model, as well as whether the training and validation datasets are suitably representative.\n",
    "\n",
    "https://machinelearningmastery.com/learning-curves-for-diagnosing-machine-learning-model-performance/#:~:text=A%20learning%20curve%20is%20a,from%20a%20training%20dataset%20incrementally.&text=Learning%20curves%20are%20plots%20that,time%20in%20terms%20of%20experience.\n",
    "\n",
    "Each learning objective will correspond to a __#TODO__ in the [student lab notebook](../labs/keras_dnn.ipynb) -- try to complete that notebook first before reviewing this solution notebook. \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "VxyBFc_kKazA"
   },
   "source": [
    "Start by importing the necessary libraries for this lab."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "!sudo chown -R jupyter:jupyter /home/jupyter/training-data-analyst"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: sklearn in /home/jupyter/.local/lib/python3.5/site-packages (0.0)\n",
      "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.5/site-packages (from sklearn) (0.19.2)\n",
      "Requirement already satisfied: pydaal in /usr/local/lib/python3.5/dist-packages (from scikit-learn->sklearn) (2019.0.0.20180713)\n",
      "Requirement already satisfied: intel-scipy in /usr/local/lib/python3.5/dist-packages (from scikit-learn->sklearn) (1.1.0)\n",
      "Requirement already satisfied: daal==2019.* in /usr/local/lib/python3.5/dist-packages (from pydaal->scikit-learn->sklearn) (2019.0)\n",
      "Requirement already satisfied: intel-numpy in /usr/local/lib/python3.5/dist-packages (from pydaal->scikit-learn->sklearn) (1.15.1)\n",
      "Requirement already satisfied: tbb4py==2019.* in /usr/local/lib/python3.5/dist-packages (from pydaal->scikit-learn->sklearn) (2019.0)\n",
      "Requirement already satisfied: tbb==2019.* in /usr/local/lib/python3.5/dist-packages (from daal==2019.*->pydaal->scikit-learn->sklearn) (2019.0)\n",
      "Requirement already satisfied: mkl in /usr/local/lib/python3.5/dist-packages (from intel-numpy->pydaal->scikit-learn->sklearn) (2019.0)\n",
      "Requirement already satisfied: mkl-fft in /usr/local/lib/python3.5/dist-packages (from intel-numpy->pydaal->scikit-learn->sklearn) (1.0.6)\n",
      "Requirement already satisfied: icc-rt in /usr/local/lib/python3.5/dist-packages (from intel-numpy->pydaal->scikit-learn->sklearn) (2020.0.133)\n",
      "Requirement already satisfied: mkl-random in /usr/local/lib/python3.5/dist-packages (from intel-numpy->pydaal->scikit-learn->sklearn) (1.0.1.1)\n",
      "Requirement already satisfied: intel-openmp in /usr/local/lib/python3.5/dist-packages (from mkl->intel-numpy->pydaal->scikit-learn->sklearn) (2020.0.133)\n",
      "\u001b[33mWARNING: You are using pip version 20.1; however, version 20.2.3 is available.\n",
      "You should consider upgrading via the '/usr/bin/python3 -m pip install --upgrade pip' command.\u001b[0m\n"
     ]
    }
   ],
   "source": [
    "# Install Sklearn\n",
    "!python3 -m pip install --user sklearn"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensorflow==2.1.0\n"
     ]
    }
   ],
   "source": [
    "# Ensure the right version of Tensorflow is installed.\n",
    "!pip freeze | grep tensorflow==2.1 || pip install tensorflow==2.1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Note:** After executing the above cell you will see the output\n",
    "`tensorflow==2.1.0` that is the installed version of tensorflow."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "9dEreb4QKizj"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "TensorFlow version:  2.1.0\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "import tensorflow.keras\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "import tensorflow as tf\n",
    "\n",
    "from tensorflow import feature_column as fc\n",
    "from tensorflow.keras import layers\n",
    "from tensorflow import keras\n",
    "from tensorflow.keras import layers\n",
    "from keras.optimizers import Adam\n",
    "#from keras.optimizers import SGD\n",
    "\n",
    "from sklearn.model_selection import train_test_split\n",
    "from keras.utils import plot_model\n",
    "\n",
    "print(\"TensorFlow version: \",tf.version.VERSION)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Many of the Google Machine Learning Courses Programming Exercises use the  [California Housing Dataset](https://developers.google.com/machine-learning/crash-course/california-housing-data-description\n",
    "), which contains data drawn from the 1990 U.S. Census.  Our lab dataset has been pre-processed so that there are no missing values.\n",
    "\n",
    "First, let's download the raw .csv data by copying the data from a cloud storage bucket.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "if not os.path.isdir(\"../data\"):\n",
    "    os.makedirs(\"../data\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Copying gs://cloud-training-demos/feat_eng/housing/housing_pre-proc.csv...\n",
      "/ [1 files][  1.4 MiB/  1.4 MiB]                                                \n",
      "Operation completed over 1 objects/1.4 MiB.                                      \n"
     ]
    }
   ],
   "source": [
    "!gcloud storage cp gs://cloud-training-demos/feat_eng/housing/housing_pre-proc.csv ../data    "   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "lM6-n6xntv3t"
   },
   "source": [
    "Now, let's read in the dataset just copied from the cloud storage bucket and create a Pandas dataframe."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 222
    },
    "colab_type": "code",
    "id": "REZ57BXCLdfG",
    "outputId": "a6ef2eda-c7eb-4e2d-92e4-e7fcaa20b0af"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>longitude</th>\n",
       "      <th>latitude</th>\n",
       "      <th>housing_median_age</th>\n",
       "      <th>total_rooms</th>\n",
       "      <th>total_bedrooms</th>\n",
       "      <th>population</th>\n",
       "      <th>households</th>\n",
       "      <th>median_income</th>\n",
       "      <th>median_house_value</th>\n",
       "      <th>ocean_proximity</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>-122.23</td>\n",
       "      <td>37.88</td>\n",
       "      <td>41.0</td>\n",
       "      <td>880.0</td>\n",
       "      <td>129.0</td>\n",
       "      <td>322.0</td>\n",
       "      <td>126.0</td>\n",
       "      <td>8.3252</td>\n",
       "      <td>452600.0</td>\n",
       "      <td>NEAR BAY</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>-122.22</td>\n",
       "      <td>37.86</td>\n",
       "      <td>21.0</td>\n",
       "      <td>7099.0</td>\n",
       "      <td>1106.0</td>\n",
       "      <td>2401.0</td>\n",
       "      <td>1138.0</td>\n",
       "      <td>8.3014</td>\n",
       "      <td>358500.0</td>\n",
       "      <td>NEAR BAY</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>-122.24</td>\n",
       "      <td>37.85</td>\n",
       "      <td>52.0</td>\n",
       "      <td>1467.0</td>\n",
       "      <td>190.0</td>\n",
       "      <td>496.0</td>\n",
       "      <td>177.0</td>\n",
       "      <td>7.2574</td>\n",
       "      <td>352100.0</td>\n",
       "      <td>NEAR BAY</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>-122.25</td>\n",
       "      <td>37.85</td>\n",
       "      <td>52.0</td>\n",
       "      <td>1274.0</td>\n",
       "      <td>235.0</td>\n",
       "      <td>558.0</td>\n",
       "      <td>219.0</td>\n",
       "      <td>5.6431</td>\n",
       "      <td>341300.0</td>\n",
       "      <td>NEAR BAY</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>-122.25</td>\n",
       "      <td>37.85</td>\n",
       "      <td>52.0</td>\n",
       "      <td>1627.0</td>\n",
       "      <td>280.0</td>\n",
       "      <td>565.0</td>\n",
       "      <td>259.0</td>\n",
       "      <td>3.8462</td>\n",
       "      <td>342200.0</td>\n",
       "      <td>NEAR BAY</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   longitude  latitude  housing_median_age  total_rooms  total_bedrooms  \\\n",
       "0    -122.23     37.88                41.0        880.0           129.0   \n",
       "1    -122.22     37.86                21.0       7099.0          1106.0   \n",
       "2    -122.24     37.85                52.0       1467.0           190.0   \n",
       "3    -122.25     37.85                52.0       1274.0           235.0   \n",
       "4    -122.25     37.85                52.0       1627.0           280.0   \n",
       "\n",
       "   population  households  median_income  median_house_value ocean_proximity  \n",
       "0       322.0       126.0         8.3252            452600.0        NEAR BAY  \n",
       "1      2401.0      1138.0         8.3014            358500.0        NEAR BAY  \n",
       "2       496.0       177.0         7.2574            352100.0        NEAR BAY  \n",
       "3       558.0       219.0         5.6431            341300.0        NEAR BAY  \n",
       "4       565.0       259.0         3.8462            342200.0        NEAR BAY  "
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "housing_df = pd.read_csv('../data/housing_pre-proc.csv', error_bad_lines=False)\n",
    "housing_df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can use .describe() to see some summary statistics for the numeric fields in our dataframe. Note, for example, the count row and corresponding columns. The count shows 20433.000000 for all feature columns. Thus, there are no missing values."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "u0zhLtQqMPem"
   },
   "source": [
    "####  Split the dataset for ML\n",
    "\n",
    "The dataset we loaded was a single CSV file. We will split this into train, validation, and test sets.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 69
    },
    "colab_type": "code",
    "id": "YEOpw7LhMYsI",
    "outputId": "6161a660-7133-465a-d754-d7acae2b68c8"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "13076 train examples\n",
      "3270 validation examples\n",
      "4087 test examples\n"
     ]
    }
   ],
   "source": [
    "train, test = train_test_split(housing_df, test_size=0.2)\n",
    "train, val = train_test_split(train, test_size=0.2)\n",
    "\n",
    "print(len(train), 'train examples')\n",
    "print(len(val), 'validation examples')\n",
    "print(len(test), 'test examples')\n",
    "\n",
    "train.to_csv('../data/housing-train.csv', encoding='utf-8', index=False)\n",
    "val.to_csv('../data/housing-val.csv', encoding='utf-8', index=False)\n",
    "test.to_csv('../data/housing-test.csv', encoding='utf-8', index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "# A utility method to create a tf.data dataset from a Pandas Dataframe\n",
    "\n",
    "def df_to_dataset(dataframe, shuffle=True, batch_size=32):\n",
    "    dataframe = dataframe.copy()\n",
    "    labels = dataframe.pop('median_house_value')\n",
    "    ds = tf.data.Dataset.from_tensor_slices((dict(dataframe), labels))\n",
    "    if shuffle:\n",
    "        ds = ds.shuffle(buffer_size=len(dataframe))\n",
    "    ds = ds.batch(batch_size)\n",
    "    return ds\n",
    "\n",
    "# Next we initialize the training and validation datasets.\n",
    "batch_size = 32\n",
    "train_ds = df_to_dataset(train)\n",
    "val_ds = df_to_dataset(val, shuffle=False, batch_size=batch_size)\n",
    "\n",
    "# Input Pipeline\n",
    "numeric_cols = ['longitude', 'latitude', 'housing_median_age', 'total_rooms',\n",
    "                'total_bedrooms', 'population', 'households', 'median_income']\n",
    "\n",
    "# Next, we scale the numerical feature columns that we assigned to the variable \"numeric cols\".\n",
    "# Scalar def get_scal(feature):\n",
    "def get_scal(feature):\n",
    "    def minmax(x):\n",
    "        mini = train[feature].min()\n",
    "        maxi = train[feature].max()\n",
    "        return (x - mini)/(maxi-mini)\n",
    "        return(minmax)\n",
    "    \n",
    "feature_columns = []\n",
    "for header in numeric_cols:\n",
    "    scal_input_fn = get_scal(header)\n",
    "    feature_columns.append(fc.numeric_column(header,\n",
    "                                             normalizer_fn=scal_input_fn))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "9Ug3hB8Sl0jO"
   },
   "source": [
    "### Using the Keras Sequential Model\n",
    "\n",
    "Next, we will run this cell to compile and fit the Keras Sequential model."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Model 1 - hard cording the learning rate to .5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train for 409 steps, validate for 103 steps\n",
      "Epoch 1/32\n",
      "409/409 [==============================] - 1s 4ms/step - loss: 15454871419.5945 - mse: 15458014208.0000 - val_loss: 11945164790.0583 - val_mse: 11930501120.0000\n",
      "Epoch 2/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 11113984319.6744 - mse: 11120439296.0000 - val_loss: 9338645354.8738 - val_mse: 9336409088.0000\n",
      "Epoch 3/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 10088049715.4827 - mse: 10088943616.0000 - val_loss: 8167923383.9223 - val_mse: 8164933632.0000\n",
      "Epoch 4/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 9220867917.7061 - mse: 9222909952.0000 - val_loss: 7299059137.8641 - val_mse: 7298258432.0000\n",
      "Epoch 5/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 8481574510.4603 - mse: 8482394112.0000 - val_loss: 7316962351.2233 - val_mse: 7317813248.0000\n",
      "Epoch 6/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 7813599009.2503 - mse: 7812545024.0000 - val_loss: 6251988000.3107 - val_mse: 6261003776.0000\n",
      "Epoch 7/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 7786804589.5218 - mse: 7786314240.0000 - val_loss: 6630910588.2718 - val_mse: 6637354496.0000\n",
      "Epoch 8/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6687057205.5333 - mse: 6691651584.0000 - val_loss: 6802481882.7184 - val_mse: 6809204736.0000\n",
      "Epoch 9/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 7043149961.0916 - mse: 7045480448.0000 - val_loss: 5816155650.4854 - val_mse: 5824936960.0000\n",
      "Epoch 10/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6748963230.1939 - mse: 6747068928.0000 - val_loss: 9615167117.6699 - val_mse: 9659991040.0000\n",
      "Epoch 11/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 7116866853.5368 - mse: 7119164416.0000 - val_loss: 6365471010.7961 - val_mse: 6377013248.0000\n",
      "Epoch 12/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6772013894.5479 - mse: 6774901248.0000 - val_loss: 7572345706.8738 - val_mse: 7573325312.0000\n",
      "Epoch 13/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6736139069.3472 - mse: 6735809536.0000 - val_loss: 6479731523.1068 - val_mse: 6486564864.0000\n",
      "Epoch 14/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 7248291930.4841 - mse: 7240312832.0000 - val_loss: 8070623681.8641 - val_mse: 8064794112.0000\n",
      "Epoch 15/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6907382681.9088 - mse: 6903963648.0000 - val_loss: 11647304052.8155 - val_mse: 11638076416.0000\n",
      "Epoch 16/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6952174379.5904 - mse: 6950060544.0000 - val_loss: 6278675145.3204 - val_mse: 6288151040.0000\n",
      "Epoch 17/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6621652910.0187 - mse: 6625410560.0000 - val_loss: 5606967899.9612 - val_mse: 5631843328.0000\n",
      "Epoch 18/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6722990264.2765 - mse: 6723870208.0000 - val_loss: 7301321370.0971 - val_mse: 7331119616.0000\n",
      "Epoch 19/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6562044763.8334 - mse: 6558479872.0000 - val_loss: 8053275665.3981 - val_mse: 8088592384.0000\n",
      "Epoch 20/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6817334858.8049 - mse: 6819204608.0000 - val_loss: 8218839298.4854 - val_mse: 8261219328.0000\n",
      "Epoch 21/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6659810888.4751 - mse: 6655946240.0000 - val_loss: 9530183578.0971 - val_mse: 9526626304.0000\n",
      "Epoch 22/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6508708612.6818 - mse: 6509333504.0000 - val_loss: 6229213425.0874 - val_mse: 6237005312.0000\n",
      "Epoch 23/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6501651869.9413 - mse: 6497069056.0000 - val_loss: 5608135279.8447 - val_mse: 5626136064.0000\n",
      "Epoch 24/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6514784923.9536 - mse: 6517147136.0000 - val_loss: 6406016512.0000 - val_mse: 6412633600.0000\n",
      "Epoch 25/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6433762730.5892 - mse: 6435895808.0000 - val_loss: 6800715676.5825 - val_mse: 6805081088.0000\n",
      "Epoch 26/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6680276207.3735 - mse: 6682078720.0000 - val_loss: 5864623141.2816 - val_mse: 5876686336.0000\n",
      "Epoch 27/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6371366577.7255 - mse: 6373690368.0000 - val_loss: 5398134122.8738 - val_mse: 5416931328.0000\n",
      "Epoch 28/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 7034769106.2276 - mse: 7038445056.0000 - val_loss: 5678697265.7087 - val_mse: 5691802112.0000\n",
      "Epoch 29/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6462157683.4572 - mse: 6464271360.0000 - val_loss: 5695027938.1748 - val_mse: 5711038976.0000\n",
      "Epoch 30/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6475801607.5104 - mse: 6479335424.0000 - val_loss: 6616112630.0583 - val_mse: 6620794880.0000\n",
      "Epoch 31/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 14547111755.4731 - mse: 14547247104.0000 - val_loss: 12976254538.5631 - val_mse: 12903587840.0000\n",
      "Epoch 32/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 13549707042.1720 - mse: 13553657856.0000 - val_loss: 12998286529.8641 - val_mse: 12924929024.0000\n"
     ]
    }
   ],
   "source": [
    "# Model create\n",
    "\n",
    "feature_layer = tf.keras.layers.DenseFeatures(feature_columns, dtype='float64')\n",
    "\n",
    "model = tf.keras.Sequential([\n",
    "  feature_layer,\n",
    "  layers.Dense(12, input_dim=8, activation='relu'),\n",
    "  layers.Dense(8, activation='relu'),\n",
    "  layers.Dense(1, activation='linear',  name='median_house_value')\n",
    "])\n",
    "\n",
    "# Model compile\n",
    "opt = keras.optimizers.Adam(learning_rate=.5)\n",
    "model.compile(optimizer=opt,\n",
    "              loss='mse',\n",
    "              metrics=['mse'])\n",
    "\n",
    "# Model Fit\n",
    "history = model.fit(train_ds,\n",
    "                    validation_data=val_ds,\n",
    "                    epochs=32)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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LiEbx8xr7s+z5uZmXv3qV7N+/XoikQiLFi0ae+66667jK1/5CmvXruW8885j06ZNeR+PiJSAQABw4JwXy/JIMUyk8MzrNyseGzdudFu3bh332K5du1i7du3kF5/YBRWV0LR6jkZXWqb8exWZY2a2zTm3sdDjyIW0Y1jvceg+AosvgEBwDkdYGhS/ZL5IN36V9jlkFpiTCpmISM6ZH54Vw0TKghIyEZH5SAmZSFlRQiYiMh+NJWTF1VYiItlRQiYiMh+NJWQjhR2HiMyJMkjINLsUkSKkCplIWSmDhEwVMhEpQuohEykrSsgKoKamBoAjR45w4403pnzNlVdeycSt8RPdeeedxGKxsd+vv/56Tp48mbuBikjhJM4eUwwTKQvlkZDN05L/kiVLeOCBB7J+/8Rg9tBDD9HQ0JCLoYlIoRVBhUwxTCR3Sj8hg7wnZHfccQf/8A//MPb7Jz7xCT75yU9y9dVXc8kll3D++efz3e9+d9L79u3bx/r16wHo7+/nlltuYe3atbztbW8bdw/cBz7wATZu3Ehraysf//jHAe+y3yNHjnDVVVdx1VVXAbBy5Ura29sB+MxnPsP69etZv349d95559j3rV27lttvv53W1lauueYa3TcnMl/NYUKmGCYyDzjniuqfDRs2uImef/75SY8555zrOeHc4e3ODQ+lfj5Htm/f7l73uteN/b527Vp34MABd+rUKeecc21tbe6ss85yo6OjzjnnqqurnXPO7d2717W2tjrnnPv0pz/t3vOe9zjnnHv22WddMBh0Tz/9tHPOuY6ODuecc8PDw+71r3+9e/bZZ51zzq1YscK1tbWNfW/i961bt7r169e73t5e19PT49atW+e2b9/u9u7d64LBoHvmmWecc87ddNNN7t57753y32vKv1eROQZsdfMg/uTin7Rj2MiQF796jmf895WpUoxhil8yX6Qbv0rvLsuH74Bjv/Z+Hh2C4QEIVZ+ebWZj8fnwxv875dMXX3wxJ06c4MiRI7S1tdHY2MjixYv5wz/8Qx5//HECgQCHDx/m+PHjLF68OOVnPP7443zoQx8C4IILLuCCCy4Ye+7+++/nrrvuYnh4mKNHj/L888+Pe36iX/ziF7ztbW+juroagLe//e38/Oc/5y1veQurVq3ioou8y4o3bNjAvn37Mv3bEJF8GothDuK9EKyEYHh2n6kY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\n",
      "text/plain": [
       "<Figure size 720x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot_curves(history, metrics):\n",
    "    nrows = 1\n",
    "    ncols = 2\n",
    "    fig = plt.figure(figsize=(10, 5))\n",
    "\n",
    "    for idx, key in enumerate(metrics):  \n",
    "        ax = fig.add_subplot(nrows, ncols, idx+1)\n",
    "        plt.plot(history.history[key])\n",
    "        plt.plot(history.history['val_{}'.format(key)])\n",
    "        plt.title('model {}'.format(key))\n",
    "        plt.ylabel(key)\n",
    "        plt.xlabel('epoch')\n",
    "        plt.legend(['train', 'validation'], loc='upper left'); \n",
    "plot_curves(history, ['loss', 'mse'])\n",
    "\n",
    "# Print .5"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Model 2 - hard cording the learning rate to .1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train for 409 steps, validate for 103 steps\n",
      "Epoch 1/32\n",
      "409/409 [==============================] - 1s 4ms/step - loss: 16142127785.6901 - mse: 16142856192.0000 - val_loss: 10077616416.3107 - val_mse: 10081102848.0000\n",
      "Epoch 2/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 10184909227.3171 - mse: 10186439680.0000 - val_loss: 9261090403.4175 - val_mse: 9280239616.0000\n",
      "Epoch 3/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 9265470852.1889 - mse: 9266704384.0000 - val_loss: 8840591911.7670 - val_mse: 8873100288.0000\n",
      "Epoch 4/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 8252377869.0075 - mse: 8254630912.0000 - val_loss: 8209944329.9417 - val_mse: 8256002560.0000\n",
      "Epoch 5/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 8080963327.1390 - mse: 8084236800.0000 - val_loss: 7023378501.5922 - val_mse: 7058453504.0000\n",
      "Epoch 6/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 7398023354.3223 - mse: 7396553216.0000 - val_loss: 7103040397.6699 - val_mse: 7140764160.0000\n",
      "Epoch 7/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 7102251723.1714 - mse: 7097890816.0000 - val_loss: 6572300826.0971 - val_mse: 6608555520.0000\n",
      "Epoch 8/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6975143326.8467 - mse: 6977131520.0000 - val_loss: 7052460884.5049 - val_mse: 7080503808.0000\n",
      "Epoch 9/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6878313639.5744 - mse: 6880425472.0000 - val_loss: 6564497475.1068 - val_mse: 6594228736.0000\n",
      "Epoch 10/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6670751938.5775 - mse: 6674390016.0000 - val_loss: 5949135690.5631 - val_mse: 5972818944.0000\n",
      "Epoch 11/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6360191996.4596 - mse: 6362693632.0000 - val_loss: 6575069852.5825 - val_mse: 6609015296.0000\n",
      "Epoch 12/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6394193631.8308 - mse: 6390744576.0000 - val_loss: 6508346343.1456 - val_mse: 6527740928.0000\n",
      "Epoch 13/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6301252573.6752 - mse: 6302002688.0000 - val_loss: 5858328185.7864 - val_mse: 5881458688.0000\n",
      "Epoch 14/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6064092761.8386 - mse: 6060854784.0000 - val_loss: 5576676650.2524 - val_mse: 5602422272.0000\n",
      "Epoch 15/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6014454765.6365 - mse: 6014266368.0000 - val_loss: 5450226024.3883 - val_mse: 5475313664.0000\n",
      "Epoch 16/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6153035148.2097 - mse: 6146137088.0000 - val_loss: 7116925370.4078 - val_mse: 7142889472.0000\n",
      "Epoch 17/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6106567366.3865 - mse: 6108347904.0000 - val_loss: 6218479245.6699 - val_mse: 6247894016.0000\n",
      "Epoch 18/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5815687350.5112 - mse: 5818600960.0000 - val_loss: 5794349901.0485 - val_mse: 5803808768.0000\n",
      "Epoch 19/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6294162059.8334 - mse: 6295368192.0000 - val_loss: 5457214399.3786 - val_mse: 5479284736.0000\n",
      "Epoch 20/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5904249998.1422 - mse: 5903711744.0000 - val_loss: 5853732612.9709 - val_mse: 5882193408.0000\n",
      "Epoch 21/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5874772064.5012 - mse: 5877137408.0000 - val_loss: 5206161672.6990 - val_mse: 5232880128.0000\n",
      "Epoch 22/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5787612633.2582 - mse: 5789365248.0000 - val_loss: 5168195337.9417 - val_mse: 5193491968.0000\n",
      "Epoch 23/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5784784265.1428 - mse: 5783699456.0000 - val_loss: 5621005507.1068 - val_mse: 5649027584.0000\n",
      "Epoch 24/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5917157422.1189 - mse: 5913398272.0000 - val_loss: 7874909656.2330 - val_mse: 7894675968.0000\n",
      "Epoch 25/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5663000405.2240 - mse: 5664764416.0000 - val_loss: 5218701760.6214 - val_mse: 5244957184.0000\n",
      "Epoch 26/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5715443525.3180 - mse: 5714052096.0000 - val_loss: 5230710622.4466 - val_mse: 5253030912.0000\n",
      "Epoch 27/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5714966640.5769 - mse: 5716998144.0000 - val_loss: 5148568513.8641 - val_mse: 5171209728.0000\n",
      "Epoch 28/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5711320639.2937 - mse: 5712954368.0000 - val_loss: 5789600487.1456 - val_mse: 5814830592.0000\n",
      "Epoch 29/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5906629059.4219 - mse: 5905991168.0000 - val_loss: 6386164964.6602 - val_mse: 6403270656.0000\n",
      "Epoch 30/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5691307688.2568 - mse: 5692233728.0000 - val_loss: 5812913107.2621 - val_mse: 5824826368.0000\n",
      "Epoch 31/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5729157983.5012 - mse: 5729346048.0000 - val_loss: 5123407594.8738 - val_mse: 5150206464.0000\n",
      "Epoch 32/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5718205839.6580 - mse: 5719468032.0000 - val_loss: 5256742764.1165 - val_mse: 5284253184.0000\n"
     ]
    }
   ],
   "source": [
    "# Model create\n",
    "feature_layer = tf.keras.layers.DenseFeatures(feature_columns, dtype='float64')\n",
    "\n",
    "model = tf.keras.Sequential([\n",
    "  feature_layer,\n",
    "  layers.Dense(12, input_dim=8, activation='relu'),\n",
    "  layers.Dense(8, activation='relu'),\n",
    "  layers.Dense(1, activation='linear',  name='median_house_value')\n",
    "])\n",
    "\n",
    "# Model compile\n",
    "model.compile(optimizer=keras.optimizers.Adam(learning_rate=0.1),\n",
    "              loss='mse',\n",
    "              metrics=['mse'])\n",
    "\n",
    "# Model Fit\n",
    "history = model.fit(train_ds,\n",
    "                    validation_data=val_ds,\n",
    "                    epochs=32)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot_curves(history, metrics):\n",
    "    nrows = 1\n",
    "    ncols = 2\n",
    "    fig = plt.figure(figsize=(10, 5))\n",
    "\n",
    "    for idx, key in enumerate(metrics):  \n",
    "        ax = fig.add_subplot(nrows, ncols, idx+1)\n",
    "        plt.plot(history.history[key])\n",
    "        plt.plot(history.history['val_{}'.format(key)])\n",
    "        plt.title('model {}'.format(key))\n",
    "        plt.ylabel(key)\n",
    "        plt.xlabel('epoch')\n",
    "        plt.legend(['train', 'validation'], loc='upper left');  \n",
    "plot_curves(history, ['loss', 'mse'])\n",
    "\n",
    "# ME:  Add a print title:  .1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Model 3 - hard cording the learning rate to .01 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train for 409 steps, validate for 103 steps\n",
      "Epoch 1/32\n",
      "409/409 [==============================] - 1s 4ms/step - loss: 28820265910.6268 - mse: 28827783168.0000 - val_loss: 19004360261.5922 - val_mse: 19016386560.0000\n",
      "Epoch 2/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 14019265145.9228 - mse: 14023570432.0000 - val_loss: 10961639846.5243 - val_mse: 10946984960.0000\n",
      "Epoch 3/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 11191451477.5768 - mse: 11195220992.0000 - val_loss: 10689455834.7184 - val_mse: 10680760320.0000\n",
      "Epoch 4/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 10847076697.6318 - mse: 10844694528.0000 - val_loss: 10218105045.7476 - val_mse: 10223378432.0000\n",
      "Epoch 5/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 10378832533.4944 - mse: 10382370816.0000 - val_loss: 10207903530.2524 - val_mse: 10223196160.0000\n",
      "Epoch 6/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 9790522326.2283 - mse: 9792843776.0000 - val_loss: 9122375759.5340 - val_mse: 9140432896.0000\n",
      "Epoch 7/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 9187987228.1516 - mse: 9191543808.0000 - val_loss: 8653506445.6699 - val_mse: 8679206912.0000\n",
      "Epoch 8/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 8553798209.9928 - mse: 8552019456.0000 - val_loss: 7948591031.9223 - val_mse: 7970355712.0000\n",
      "Epoch 9/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 8143016367.2025 - mse: 8143045120.0000 - val_loss: 7737315253.4369 - val_mse: 7754465792.0000\n",
      "Epoch 10/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 7751682446.5002 - mse: 7754837504.0000 - val_loss: 7385209597.5146 - val_mse: 7398214656.0000\n",
      "Epoch 11/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 7542789712.2367 - mse: 7539196416.0000 - val_loss: 7126287777.5534 - val_mse: 7131967488.0000\n",
      "Epoch 12/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 7316383110.4599 - mse: 7319803392.0000 - val_loss: 6877715746.7961 - val_mse: 6894089216.0000\n",
      "Epoch 13/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 7108313843.2011 - mse: 7109844992.0000 - val_loss: 6903026332.5825 - val_mse: 6919081472.0000\n",
      "Epoch 14/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6896629351.9496 - mse: 6893651456.0000 - val_loss: 6671044287.3786 - val_mse: 6678432256.0000\n",
      "Epoch 15/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6721002226.7818 - mse: 6723388928.0000 - val_loss: 6273372679.4563 - val_mse: 6288086016.0000\n",
      "Epoch 16/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6488401337.1551 - mse: 6488479232.0000 - val_loss: 6198506697.3204 - val_mse: 6220411392.0000\n",
      "Epoch 17/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6376134623.4519 - mse: 6372488704.0000 - val_loss: 5970747817.0097 - val_mse: 5988396544.0000\n",
      "Epoch 18/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6215809780.7121 - mse: 6216158208.0000 - val_loss: 5821481191.1456 - val_mse: 5840646144.0000\n",
      "Epoch 19/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6144724959.4561 - mse: 6145218560.0000 - val_loss: 5681893545.0097 - val_mse: 5696522752.0000\n",
      "Epoch 20/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 6031094457.4389 - mse: 6030999040.0000 - val_loss: 5657197833.9417 - val_mse: 5674882560.0000\n",
      "Epoch 21/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5924171939.6916 - mse: 5927268352.0000 - val_loss: 5776844782.6019 - val_mse: 5793309696.0000\n",
      "Epoch 22/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5786767348.0485 - mse: 5788613632.0000 - val_loss: 5335009724.8932 - val_mse: 5346563072.0000\n",
      "Epoch 23/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5636253671.2479 - mse: 5637727744.0000 - val_loss: 5673004250.7184 - val_mse: 5680822272.0000\n",
      "Epoch 24/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5642316724.1229 - mse: 5644330496.0000 - val_loss: 5353021845.1262 - val_mse: 5368786944.0000\n",
      "Epoch 25/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5432630617.7940 - mse: 5432131584.0000 - val_loss: 5309223513.4757 - val_mse: 5328088576.0000\n",
      "Epoch 26/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5315659247.0182 - mse: 5316406784.0000 - val_loss: 4899379935.6893 - val_mse: 4914889728.0000\n",
      "Epoch 27/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5311305914.8223 - mse: 5312090624.0000 - val_loss: 4835629852.5825 - val_mse: 4853591552.0000\n",
      "Epoch 28/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5220910676.4186 - mse: 5221594112.0000 - val_loss: 4942810116.9709 - val_mse: 4968830464.0000\n",
      "Epoch 29/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5238931864.4424 - mse: 5240843776.0000 - val_loss: 4737610755.7282 - val_mse: 4753325568.0000\n",
      "Epoch 30/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5202944042.8844 - mse: 5203273216.0000 - val_loss: 4862759954.6408 - val_mse: 4881971200.0000\n",
      "Epoch 31/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5154660554.9627 - mse: 5152465920.0000 - val_loss: 4824625184.3107 - val_mse: 4843690496.0000\n",
      "Epoch 32/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 5073505084.2055 - mse: 5073333760.0000 - val_loss: 4637512433.0874 - val_mse: 4659401728.0000\n"
     ]
    }
   ],
   "source": [
    "# Model create\n",
    "\n",
    "feature_layer = tf.keras.layers.DenseFeatures(feature_columns, dtype='float64')\n",
    "\n",
    "model = tf.keras.Sequential([\n",
    "  feature_layer,\n",
    "  layers.Dense(12, input_dim=8, activation='relu'),\n",
    "  layers.Dense(8, activation='relu'),\n",
    "  layers.Dense(1, activation='linear',  name='median_house_value')\n",
    "])\n",
    "\n",
    "# Model compile\n",
    "opt = keras.optimizers.Adam(learning_rate=0.01)\n",
    "model.compile(optimizer=opt,\n",
    "              loss='mse',\n",
    "              metrics=['mse'])\n",
    "\n",
    "# Model Fit\n",
    "history = model.fit(train_ds,\n",
    "                    validation_data=val_ds,\n",
    "                    epochs=32)  # Increase Epochs to 32"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot_curves(history, metrics):\n",
    "    nrows = 1\n",
    "    ncols = 2\n",
    "    fig = plt.figure(figsize=(10, 5))\n",
    "\n",
    "    for idx, key in enumerate(metrics):  \n",
    "        ax = fig.add_subplot(nrows, ncols, idx+1)\n",
    "        plt.plot(history.history[key])\n",
    "        plt.plot(history.history['val_{}'.format(key)])\n",
    "        plt.title('model {}'.format(key))\n",
    "        plt.ylabel(key)\n",
    "        plt.xlabel('epoch')\n",
    "        plt.legend(['train', 'validation'], loc='upper left');  \n",
    "plot_curves(history, ['loss', 'mse'])\n",
    "\n",
    "# Print .01 in title"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Model 4 - hard cording the learning rate to .001 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train for 409 steps, validate for 103 steps\n",
      "Epoch 1/32\n",
      "409/409 [==============================] - 1s 4ms/step - loss: 53598458040.5582 - mse: 53615620096.0000 - val_loss: 46821547932.5825 - val_mse: 46834003968.0000\n",
      "Epoch 2/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 36739199403.4076 - mse: 36758806528.0000 - val_loss: 27244869781.1262 - val_mse: 27283460096.0000\n",
      "Epoch 3/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 27422816419.3018 - mse: 27429183488.0000 - val_loss: 25765405531.9612 - val_mse: 25814075392.0000\n",
      "Epoch 4/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 26973375411.3350 - mse: 26978705408.0000 - val_loss: 25500520676.6602 - val_mse: 25549273088.0000\n",
      "Epoch 5/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 26708565225.8306 - mse: 26708910080.0000 - val_loss: 25258713257.0097 - val_mse: 25306284032.0000\n",
      "Epoch 6/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 26431448747.0726 - mse: 26427885568.0000 - val_loss: 25015992752.4660 - val_mse: 25062426624.0000\n",
      "Epoch 7/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 26195567067.5298 - mse: 26147897344.0000 - val_loss: 24728146715.3398 - val_mse: 24775133184.0000\n",
      "Epoch 8/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 25861331448.7105 - mse: 25868269568.0000 - val_loss: 24461344966.8350 - val_mse: 24507320320.0000\n",
      "Epoch 9/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 25600870956.6723 - mse: 25574486016.0000 - val_loss: 24190899557.9029 - val_mse: 24235472896.0000\n",
      "Epoch 10/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 25254511420.4239 - mse: 25256204288.0000 - val_loss: 23879615776.3107 - val_mse: 23924580352.0000\n",
      "Epoch 11/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 24939981334.2943 - mse: 24941438976.0000 - val_loss: 23578587106.1748 - val_mse: 23621562368.0000\n",
      "Epoch 12/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 24583283718.7080 - mse: 24589076480.0000 - val_loss: 23261951652.0388 - val_mse: 23303301120.0000\n",
      "Epoch 13/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 24217670771.0750 - mse: 24219877376.0000 - val_loss: 22884749550.6019 - val_mse: 22926671872.0000\n",
      "Epoch 14/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 23820845798.3815 - mse: 23834732544.0000 - val_loss: 22503808685.9806 - val_mse: 22543908864.0000\n",
      "Epoch 15/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 23380588243.0099 - mse: 23394732032.0000 - val_loss: 22098632037.9029 - val_mse: 22136567808.0000\n",
      "Epoch 16/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 22939632988.0472 - mse: 22930409472.0000 - val_loss: 21633353265.7087 - val_mse: 21670201344.0000\n",
      "Epoch 17/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 22425386995.8820 - mse: 22408931328.0000 - val_loss: 21126189920.9320 - val_mse: 21161084928.0000\n",
      "Epoch 18/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 21825249632.2906 - mse: 21829629952.0000 - val_loss: 20558259667.2621 - val_mse: 20591157248.0000\n",
      "Epoch 19/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 21182989676.4602 - mse: 21185062912.0000 - val_loss: 19914999460.0388 - val_mse: 19946936320.0000\n",
      "Epoch 20/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 20463244498.5435 - mse: 20469348352.0000 - val_loss: 19200291258.4078 - val_mse: 19229341696.0000\n",
      "Epoch 21/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 19638405852.7297 - mse: 19648167936.0000 - val_loss: 18388937792.6214 - val_mse: 18414884864.0000\n",
      "Epoch 22/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 18727225622.6354 - mse: 18719770624.0000 - val_loss: 17482676074.8738 - val_mse: 17504354304.0000\n",
      "Epoch 23/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 17696683981.7730 - mse: 17701554176.0000 - val_loss: 16473887187.2621 - val_mse: 16491425792.0000\n",
      "Epoch 24/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 16582034454.0254 - mse: 16589959168.0000 - val_loss: 15416491102.4466 - val_mse: 15430251520.0000\n",
      "Epoch 25/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 15441100801.0647 - mse: 15441384448.0000 - val_loss: 14323832856.8544 - val_mse: 14332474368.0000\n",
      "Epoch 26/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 14300109191.2975 - mse: 14305319936.0000 - val_loss: 13292001707.4951 - val_mse: 13295180800.0000\n",
      "Epoch 27/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 13303333501.6680 - mse: 13308677120.0000 - val_loss: 12424821864.3883 - val_mse: 12422747136.0000\n",
      "Epoch 28/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 12501031403.7036 - mse: 12506546176.0000 - val_loss: 11797120442.4078 - val_mse: 11791951872.0000\n",
      "Epoch 29/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 11956319701.2183 - mse: 11960665088.0000 - val_loss: 11360529885.2039 - val_mse: 11351460864.0000\n",
      "Epoch 30/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 11621636862.4036 - mse: 11621429248.0000 - val_loss: 11121221462.9903 - val_mse: 11109432320.0000\n",
      "Epoch 31/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 11450743583.8708 - mse: 11449251840.0000 - val_loss: 11025491838.7573 - val_mse: 11014677504.0000\n",
      "Epoch 32/32\n",
      "409/409 [==============================] - 1s 2ms/step - loss: 11348831851.9082 - mse: 11351303168.0000 - val_loss: 10960628601.7864 - val_mse: 10947500032.0000\n"
     ]
    }
   ],
   "source": [
    "# Model create\n",
    "\n",
    "feature_layer = tf.keras.layers.DenseFeatures(feature_columns, dtype='float64')\n",
    "\n",
    "model = tf.keras.Sequential([\n",
    "  feature_layer,\n",
    "  layers.Dense(12, input_dim=8, activation='relu'),\n",
    "  layers.Dense(8, activation='relu'),\n",
    "  layers.Dense(1, activation='linear',  name='median_house_value')\n",
    "])\n",
    "\n",
    "# Model compile\n",
    "opt = keras.optimizers.Adam(learning_rate=0.001)\n",
    "model.compile(optimizer=opt,\n",
    "              loss='mse',\n",
    "              metrics=['mse'])\n",
    "\n",
    "# Model Fit\n",
    "history = model.fit(train_ds,\n",
    "                    validation_data=val_ds,\n",
    "                    epochs=32)  # Increase Epochs to 32"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlsAAAFNCAYAAAA3oqpqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzs3Xd8XNWd///X0WjUuyzZlmxZNm7CveCCMWA6hA6OIYRQAg4QQpLvJrtk95e2m7ZpS0iAACGBUEMzvYMNBmPjbowrbnKV1Xuf8/vjjrpsS7ZGmjt6Px8PPSzPvTNz4kfyyeec+zmfY6y1iIiIiEhghPX1AERERERCmZItERERkQBSsiUiIiISQEq2RERERAJIyZaIiIhIACnZEhEREQkgJVsScMaYR40xv+jivbuNMeec6OeIiJyonopdIkq2RERERAJIyZaIiIhIACnZEqB5CfyHxpgNxphKY8wjxpiBxpg3jTHlxpj3jDHJre6/1BjzhTGmxBizxBiT0+raFGPMGv/7/gVEtfuui40x6/zvXWaMmXicY77VGPOlMabIGPOKMSbD/7oxxvyfMeawMabMGPO5MWa8/9pFxphN/rHtN8b84Lj+wUQkKLghdvkfR97vH1OFMeYTY8wgY8w9xphiY8wWY8yUVvf/hz8+lRtjthpjzva/HmaMudsYs8MYU2iMedYYk3LC/4gScEq2pLWrgHOB0cAlwJvAfwJpOP9duQvAGDMaeBr4nv/aG8CrxpgIY0wE8BLwOJACPOf/XPzvnQL8HfgWkAo8CLxijInszkCNMWcBvwa+CgwG9gDP+C+fB5zu/8+R6L+n0H/tEeBb1tp4YDzwQXe+V0SCkhti11eB/w8YANQCnwJr/H9/Hvij/3vGAHcCp/jj1PnAbv9nfAe4HDgDyACKgfu6+P3Sh4Iu2TLG/N2/IrGxC/ee7p+FNBhjrm537QZjzHb/zw2BG3FI+bO1Ns9aux9YCqyw1q611tYAi4CmmdcC4HVr7bvW2nrg90A0cCowC/AC91hr6621zwMrW33HQuBBa+0Ka22jtfYxnMAzq5tjvQ74u7V2jbW2FvgRMNsYkw3UA/HAWMBYazdbaw/631cPnGyMSbDWFltr13Tze0WOSPGrz7ghdi2y1q5uNaYaa+0/rbWNwL9ajbERiMSJU15r7W5r7Q7/tduA/7LW7vPHvZ8BVxtjwrvzjyW9L+iSLeBR4IIu3psL3Ag81fpF/7LqT4GZwAzgp62XkeWI8lr9Xt3J3+P8v2fgrCQBYK31AXuBTP+1/bbtCed7Wv0+DPg3/zJ8iTGmBBjqf193tB9DBc7qVaa19gPgLzgzvsPGmIeMMQn+W68CLgL2GGM+NMbM7ub3ihzNoyh+9QU3xK4ujdFa+yXOytvPcOLXM00lEv4xLGr1/ZtxkrOBXRyD9JGgS7astR8BRa1fM8acZIx5yxiz2hiz1Bgz1n/vbmvtBsDX7mPOB9611hZZa4uBd+l6AJRjO4DzP3rAqZHCCTr7gYNApv+1Jlmtft8L/NJam9TqJ8Za+/QJjiEWZ2l/P4C19l5r7TTgZJxHCz/0v77SWnsZkI7zyODZbn6vyBEpfgW9YIhdx2Stfcpae5p/rBb431ZjuLDdGKL8K3oSxIIu2TqCh4Dv+P/P8wfA/ce4PxPnv5RN9vlfk57xLPAVY8zZxhgv8G84y+nLcOoQGoC7jDFeY8yVOLPzJg8DtxljZhpHrDHmK8aY+G6O4WngJmPMZH/NxK9wHh3sNsac4v98L1AJ1AA+f13GdcaYRP8jhDI6/h+dSE9T/AoewRC7jsoYM8YYc5Y/rtXgrHo1xam/Ar80xgzz35tmjLmsJ79fAiPon/MaY+Jwnqc/12rC0a1iaulZ1tqtxpivA3/G+T+BdcAl1to6AH+Qehj4BU4B6out3rvKGHMrzmO+UTiB5GPgo26O4T1jzI+BF4BknGB5jf9yAvB/wAicYPU28Dv/teuBvxhjPMBWnNovkYBQ/AouwRC7uiAS+A2Qg1NjugynXgzgT4AB3vE/WjyMU+/1cg+PQXqYaft4Ojj4i5xfs9aO99fabLXWDj7K/Y/673/e//drgTOttd/y//1BYEkglntFRFpT/BKR9oL+MaK1tgzYZYyZD809lCYd421vA+cZY5L9haXn+V8TEek1il8iAkGYbBljnsZ5dj7GGLPPGPNNnEc93zTGrAe+AC7z33uKMWYfMB940BjzBYC1tgj4H5xtuyuB//a/JiISMIpfItKZoHyMKCIiIhIqgm5lS0RERCSUKNkSERERCaCgav0wYMAAm52d3dfDEJFesnr16gJrbVpfj6MnKH6J9D9djWFBlWxlZ2ezatWqvh6GiPQSY8yeY9/lDopfIv1PV2OYHiOKiIiIBJCSLREREZEAUrIlIiIiEkBBVbPVmfr6evbt20dNTU1fDyUkREVFMWTIELxeb18PRSTkKX71LMUvcaugT7b27dtHfHw82dnZtDrIVY6DtZbCwkL27dvH8OHD+3o4IiFP8avnKH6JmwX9Y8SamhpSU1MVqHqAMYbU1FTNskV6ieJXz1H8EjcL+mQLUKDqQfq3FOld+t9cz9G/pbiVK5KtvlRSUsL999/f7fdddNFFlJSUBGBEIiJdo/glEhyUbB3DkYJVQ0PDUd/3xhtvkJSUFKhhiYgck+KXSHAI+gL5zlTU1NPgsyTFRAT8u+6++2527NjB5MmT8Xq9REVFkZyczJYtW9i2bRuXX345e/fupaamhu9+97ssXLgQaOkmXVFRwYUXXshpp53GsmXLyMzM5OWXXyY6OjrgYxeR4FPX4KO8pp7EaC/hnsDOdxW/RIKEtTZofqZNm2bb27RpU4fXcgsr7eaDpR1eD4Rdu3bZcePGWWutXbx4sY2JibE7d+5svl5YWGittbaqqsqOGzfOFhQUWGutHTZsmM3Pz7e7du2yHo/Hrl271lpr7fz58+3jjz/eK2M/ks7+TUX6ArDKBkHs6Ymfrsavsuo6u35vsa2oqe/+P1g3KX6JBFZXY5irVrZ+/uoXbDpQRl2Djwafj5iIEx/+yRkJ/PSScV2+f8aMGW22Hd97770sWrQIgL1797J9+3ZSU1PbvGf48OFMnjwZgGnTprF79+4THreIuEtT/PJZS3VdI1FeD56wEyv4VvwScQdXJVtNjAFr++a7Y2Njm39fsmQJ7733Hp9++ikxMTGceeaZnW5LjoyMbP7d4/FQXV3dK2MVkeDTlF71RQhT/BLpG65KtppmcIUVtewvqSZncALeANc8xMfHU15e3um10tJSkpOTiYmJYcuWLSxfvjygYxER92qKX40+yxcHShmUGEV6fFRAv1PxSyQ4uCrZatK09N7os3g9gf2u1NRU5syZw/jx44mOjmbgwIHN1y644AL++te/kpOTw5gxY5g1a1ZgByMirhdmnH5Rjb7Ar20pfokEB2P76nlcJ6ZPn25XrVrV5rXNmzeTk5PT5rWKmnp2FlQyIi2OuEhX5ot9qrN/U5G+YIxZba2d3tfj6AldjV8Amw+WER8ZzpCUmN4aXshQ/JJg0tUY5so+W54wZ9iNPl8fj0REpPs8YYaGXljZEpHg4MpkK9z/GLGhUcFKRNwnPKx3HiOKSHBwZbLVumZLRMRttLIl0r+4MtkKCzOEGQUrEXEnrWyJ9C+uTLZAwUpE3MsTFkajz0cwbVASkcBxbbLlUbIlIi7lCTNYVAoh0l+4OtkKxseIcXFxABw4cICrr76603vOPPNM2m8Rb++ee+6hqqqq+e8XXXQRJSUlPTdQEekz4Z7grDtV/BIJDNcmW+H+ZfhglZGRwfPPP3/c728frN544w2SkpJ6Ymgi0seaNvkE44QRFL9Eepp7ky1P76xs3X333dx3333Nf//Zz37GL37xC84++2ymTp3KhAkTePnllzu8b/fu3YwfPx6A6upqrrnmGnJycrjiiivanC12++23M336dMaNG8dPf/pTwDkc9sCBA8ybN4958+YBkJ2dTUFBAQB//OMfGT9+POPHj+eee+5p/r6cnBxuvfVWxo0bx3nnnaczzESCVHgv7ahW/BIJEtbaoPmZNm2abW/Tpk0dXrPW2kOl1Xb93mLr8/k6vd5T1qxZY08//fTmv+fk5Njc3FxbWlpqrbU2Pz/fnnTSSc3jiI2NtdZau2vXLjtu3DhrrbV/+MMf7E033WSttXb9+vXW4/HYlStXWmutLSwstNZa29DQYM844wy7fv16a621w4YNs/n5+c3f2/T3VatW2fHjx9uKigpbXl5uTz75ZLtmzRq7a9cu6/F47Nq1a6211s6fP98+/vjjnf5nOtK/qUhvA1bZIIg9PfHTnfhVU99g1+8ttoUVtd37B+smxS+RwOpqDHPXWTdv3g2HPgcgpdFHbIMPIj2AOf7PHDQBLvzNES9PmTKFw4cPc+DAAfLz80lOTmbQoEF8//vf56OPPiIsLIz9+/eTl5fHoEGDOv2Mjz76iLvuuguAiRMnMnHixOZrzz77LA899BANDQ0cPHiQTZs2tbne3scff8wVV1xBbGwsAFdeeSVLly7l0ksvZfjw4UyePBmAadOmsXv37u7+a4hIoLSKXxFYRtQ2EhEeBp4TeMCg+CXiCgFNtowxu4FyoBFosD14Bprx51fWtvweKPPnz+f555/n0KFDLFiwgCeffJL8/HxWr16N1+slOzubmpqabn/url27+P3vf8/KlStJTk7mxhtvPK7PaRIZGdn8u8fj0TK8yAkIZPxqYgl8KYTil0jf642VrXnW2oIe+aRWM7jqmnp2FVRyUlocsQE+jHrBggXceuutFBQU8OGHH/Lss8+Snp6O1+tl8eLF7Nmz56jvP/3003nqqac466yz2LhxIxs2bACgrKyM2NhYEhMTycvL48033+TMM88EID4+nvLycgYMGNDms+bOncuNN97I3XffjbWWRYsW8fjjjwfkP7eIBCZ+GSD3YBkJUeEMSQ7sYdSKXyJ9z12PEVsJ78XdPOPGjaO8vJzMzEwGDx7MddddxyWXXMKECROYPn06Y8eOPer7b7/9dm666SZycnLIyclh2rRpAEyaNIkpU6YwduxYhg4dypw5c5rfs3DhQi644AIyMjJYvHhx8+tTp07lxhtvZMaMGQDccsstTJkyRUvuIi7TW42ZFb9E+p6xAexgbIzZBRQDFnjQWvvQ0e6fPn26bd+/ZfPmzeTk5HS4t67Bx5ZDZQxJjiYlNrLDdTmyI/2bivQ2Y8zqQDye6wmBjF8AO/IrADgpLa4nhttvKH5JMOlqDAv0ytZp1tr9xph04F1jzBZr7UetbzDGLAQWAmRlZXX5g3tzZUtE+qWAxS9wYlhtffD2ChSRnhPQPlvW2v3+Pw8Di4AZndzzkLV2urV2elpaWpc/u+kw6mDrwCwioSGQ8QuC9xQMEel5AUu2jDGxxpj4pt+B84CNPfkdnjBDQ6OClYj0rN6IX001W4Es5RCR4BDIx4gDgUXG6csQDjxlrX3reD7IWovppL9DbxWYhhIFdpEuCXj88oSFYbH4rMUT6P41IULxS9wqYMmWtXYnMOlEPycqKorCwkJSU1M7BCwtw3ePtZbCwkKioqL6eigiQa234hc4dacn0te0v1D8EjcL+tYPQ4YMYd++feTn53e4VlRZR32jj/pC/Y+vq6KiohgyZEhfD0OkXzha/Kqpb6Sgog5bHOl0kpdjUvwStwr6ZMvr9TJ8+PBOr/34pY28tiGPtT85r5dHJSJybEeLX2tyi7n1qWX848ZTmDc2vZdHJiK9ydXTqeTYCEqr61W3JSKukxITAUBxVV0fj0REAs3dyVaMF5+Fsur6vh6KiEi3JPuTraJKJVsioc7VyVZKrGaGIuJO8VHheMIMJVWaLIqEOlcnW0lahhcRlwoLMyRFeylS/BIJea5OtpJjvAAUVWpmKCLukxwbQYmSLZGQ5/JkSytbIuJeyTFe1WyJ9APuTraaarYUrETEhZJjIlSzJdIPuDrZio3wEOEJo1jBSkRcKDkmQitbIv2Aq5MtYwxJMV6tbImIKzk1W/U6808kxLk62QKn/YNqtkTEjZJjvNQ1+qisa+zroYhIALkz2fI1Qm05gLOypWRLRNyivgaKdkF9jepORfoJdyZbz98MD80Dmla2VLMlIi6x60O4dzLkfaEd1SL9hDuTrahEqCkBnMammhWKiGtEJTl/1hSTEuv0CtSEUSS0uTPZik6CmlKwlpSYCEqq6/HpMGoRcYOoROfP6pKWUzA0YRQJae5MtqKSoLEO6qtJivHS6LOU1zT09ahERI4tumllq4QUPUYU6Rdcmmz5Z4Y1JTqMWkTcpfkxYikJ0V6M0cqWSKhzZ7LVNDOsLmkuMNVhriLiCt4oCI+C6hI8/sOoVbMlEtrcmWy1mhk2bZ3WYa4i4hpRSc2bfJJjIjRZFAlx7ky2WtU8JMc4u3mKKjUzFBGXiEqEan+yFRuhyaJIiHNnshXV6jGiVrZExG2iW69seTVZFAlx7k62akqIjwwnPMzoMFcRcY+opJaVrRitbImEOpcmWy19apzDqNVFXkRcpKlXIM5jRE0WRUKbO5MtTzhExLcEqxivtk6LiHu0K5CvbfBRrcOoRUKWO5MtaFvzEBuhPlsi4h5RiVBTBj5fyyYfxTCRkOXeZKtNzYNXyZaIuEd0EmChtqV9jVbnRUKXi5OtlsOoU2JVsyUiLhLVsTGzJowiocu9yVZ0y8pWUkwExZV1WKvDqEXEBaJbGjOnxDqPETVhFAld7k22olp286TERNDgs1TU6jBqEXGBVu1rkmL0GFEk1Lk32WpVIJ/kLzAtVmNAEXGDVue7JkU3rWwp2RIJVe5NtqKSoL4KGupIiVXNg4i4SFOvwJoSwj1hJESFa2VLJIS5ONlqCVZNy/DaOi0irtCqQB60yUck1Lk32WpTYKrzEUXERSJiISy8ue7UOQVD8UskVLk32WqzddrfFFA1WyLiBsa06SKfosbMIiHNvclWdMtunoQoL2FGK1si4iJt2td4tcFHJIS5N9lqtbIVFuYcRq3DXEXENVo3ZtZjRJGQ5uJkq6VAHpwje0pUYCoibtH6yLHYCKrqGqmp12HUIqHIvclWq8eIAMla2RIRN2nVK1BH9oiENvcmW+GREB7dZmaoQCUirtHqFIxkNWYWCWnuTbag3czQq2RLRNyjqUDeWpLVmFkkpLk72WpX81BcVa/DqEXEHaISwTZCXYUeI4qEOJcnW4mtluEjqGvwUVWnAlMRcYHWvQJjmx4jKtkSCUXuTrZaPUZM0cxQRNyk1SafpOim+KWaLZFQ5O5kKyoJqpuOu1CBqYi4SFTLkWMR4WHER4ZrR7VIiHJ3shXd9rgL0MqWiLhEdMtjRICkWK9OwRAJUe5OtqISobYMfI0k6TGiiLhJVNtegSkxERTpMaJISHJ5stWyDN+8sqVleBFxg6ZTMJrPR4zQypZIiHJ3stWqwDQx2osxaGYoIu4QmQCYNqUQqtkSCU0BT7aMMR5jzFpjzGs9/uGttk57wgyJ0ap5EJGeE9D4FRbmrG41r2zpfFeRUNUbK1vfBTYH5JN1PqKIBFbg4hf4N/k4O6pTYiKoqG2grsEXsK8Tkb4R0GTLGDME+Arwt4B8Qbuah2TNDEWkhwQ8foH/fMSm3YhO3alW50VCT6BXtu4B/h0IzFStVYE8aGVLRHpUYOMXtHmM2NSYuUjJlkjICViyZYy5GDhsrV19jPsWGmNWGWNW5efnd+9L2j9GjNVuHhE5cb0Sv6BNr8BkNWYWCVmBXNmaA1xqjNkNPAOcZYx5ov1N1tqHrLXTrbXT09LSuvcN3hgI87Z5jKhZoYj0gMDHL/CfgtEyWQT1ChQJRQFLtqy1P7LWDrHWZgPXAB9Ya7/eo19iTNuZYWwENfU+qnUYtYicgF6JX9CmQD5ZjZlFQpa7+2xBm5oHBSsRcZWoJGishfrqVue7Kn6JhJpeSbastUustRcH5MOjNDMUkcAJbPxq2VEd5fUQE+GhWDuqRUKO+1e2VGAqIm7VSa9ArWyJhB73J1utCkxTVGAqIm7S6hQMgORYr+KXSAhyf7LVamUrSY8RRcRNojvpFajHiCIhx/3JVlSiE6h8vlYFpgpWIuICUR0fI6pXoEjoCYFkKwmsD+oq8HrCiI8K18qWiLhDdLLzZ6tSCJ2CIRJ63J9stSswTYmNULIlIu4QmeD82VwK4aW8poH6Rh1GLRJK3J9stSswTdL5iCLiFp5wiIjvsMmnRHVbIiHF/clW+5WtGK8ClYi4RyebfFS3JRJa3J9sNTUFbL2bRytbIuIWrRozp/iTLcUwkdASAslW+z412s0jIi4SndSqDMK/o1qr8yIhxf3JVocOzF4q6xqpqddh1CLiAlGJbTb4gHoFioQa9ydbEfFgwtqsbIEKTEXEJVqdgqHzXUVCk/uTrbCwNjNDBSsRcZVWBfLRER6ivGE6H1EkxLg/2YKWLvK0SrYUrETEDaKSoL4KGpyYlRITQZFOwRAJKSGSbLUsww9MiATgYGlNX45IRKRr2p2PmJ4QxaGy6j4ckIj0tNBItlotww9JjiHMwJ6iqj4elIhIFzS3r3Fi2LDUGHYXKH6JhJLQSLZarWxFhIcxODGaPYWVfTwoEZEuaNe+ZlhKDAdLq6lr0JE9IqEiRJKtlgJ5gOwBMewp1MxQRFygXfuaYamx+CzsK1YMEwkVoZFsRfs7MFsLQFZKLLl6jCgibhDVtmZrWGoMoFIIkVASGslWVBI01kG9U1Q6LDWGoso6ymq0o0dEglzTylZ1MQBZTclWgUohREJFaCRb7ZfhU5xglatHiSIS7NoVyKfFRRIT4dHKlkgICY1kq12BafPMUMmWiAS78EgIj26OX8YYslJiNFkUCSEhkmw1zQybah5iAdhTpGV4EXGBVu1rwCmF0MqWSOgIjWSr3WPEuMhwBsRFaGYoIu7Qqn0NOBPG3KIqfD7bh4MSkZ4SGslWu8eIAFkpav8gIi7RtKPaLyslhroGH4fKdBKGSCgIjWQrOtn5s6btzFCNTUXEFaLaPkbMbiqF0IRRJCSERrIVmeD8Wd225uFgWQ21DY19NCgRkS6KSoTqlpWtpl5buao7FQkJoZFsecIhIr7NMvyw1Bishb1FOtBVRIJcuwL5wYlRhIcZrWyJhIjQSLagQ7DKSnGW4TUzFJGgF5UEtWXgc1biwz1hDEmOVrIlEiJCJ9nqsJvHWYbfXaBgJSJBLrrtkT3grzvVZFEkJIROstVuZSs1NoK4yHCdkSgiwS+qbfsa8PfaKqzCWrV/EHG70Em2ohLbrGw1dWHWjkQRCXpNjZnbta8pr2mgpEpnvIq4XQglW2371IC6MIuIwxhzmjHmJv/vacaY4X09pjaiO1vZcupOd2vCKOJ6XUq2jDHfNcYkGMcjxpg1xpjzAj24bmn3GBGcMxL3FlXRqC7MIv2WMeanwH8AP/K/5AWe6LsRdaKTxszZze0fNGEUcbuurmzdbK0tA84DkoHrgd8EbFTHIyoJ6qugoa75pezUWOobLQdL1f5BpB+7ArgUqASw1h4A4vt0RO11srI1NMVJtrQjUcT9uppsGf+fFwGPW2u/aPVacOhsGd4frHRGoki/VmedKnMLYIyJ7ePxdBTVcTdilNfDoIQoJVsiIaCrydZqY8w7OMnW28aYeMAXuGEdh06CVZZ/GV51WyL92rPGmAeBJGPMrcB7wMN9PKa2vNEQ5m3zGBGcGKZNPiLuF97F+74JTAZ2WmurjDEpwE2BG9Zx6GQ3z+DEaLwedWEW6c+stb83xpwLlAFjgJ9Ya9/t42G1ZUyndafZqTEs3prfR4MSkZ7S1WRrNrDOWltpjPk6MBX4U+CGdRw6eYzoCTMMTdbMUKQ/8z82/MBa+64xZgwwxhjjtdYGV0+Fdo2ZwdmRmF++j6q6BmIiuhquRSTYdPUx4gNAlTFmEvBvwA7gnwEb1fHoZDcPtDQGFJF+6yMg0hiTCbyFs8Hn0T4dUWc621Gdoh2JIqGgq8lWg7/A9DLgL9ba+3DBbh5wZoa5RerCLNKPGWttFXAl8IC1dj4wro/H1NERegWCdiSKuF1Xk61yY8yPcGaErxtjwnB61QSPppqtTmaGFbUNFFXWdfImEekHjDFmNnAd8Lr/NU8fjqdz0Z08RkxxNk6qFELE3bqabC0AanH6bR0ChgC/C9iojkd4JIRHd/oYEWC3ZoYi/dV3gbuBF621X/i7x3/Qx2PqKCqxw2QxMcZLUoxXK1siLtelZMufYD0JJBpjLgZqrLXBVbMFndY8NB15kVukmaFIP1WF06rmWmPMBuAVYF7fDqkTTY8RfW276gxLiVHNlojLdWl7izHmqzgrWUtwmpn+2RjzQ2vt8wEcW/d1sptnaEo0xqjmQaQfexL4AbCRYOsP2Fp0Elgf1JW3lEUAWamxrN9bcpQ3ikiw6+pe4v8CTrHWHgbnIFecxoDBlWxFdywwjQz3MDghSl3kRfqvfGvtq309iGNq3Zi5VbKVnRrDG58fpL7Rh9fT1coPEQkmXU22wpoSLb9Cul7v1XuiEqFsf4eXs1Jj1EVepP/6qTHmb8D7OLWnAFhrX+y7IXUiulX7mqSs5pezUmJo9Fn2F1eTPSD4ThoSkWPrarL1ljHmbeBp/98XAG8EZkgnICoJ8jZ1eDk7NZb3Nuf1wYBEJAjcBIzF2UHd9BjRAsGVbB1hR3VT3emeoiolWyIu1aVky1r7Q2PMVcAc/0sPWWsXBW5Yx6mTAnlwVrYKKuqoqG0gLlJdmEX6mVOstWP6ehDHdJTGzAC5hZVAWi8PSkR6QpczD2vtC8ALXb3fGBOFv3Oz/3uet9b+tNsj7I6oJKgtA18jhLW00WnqVZNbWMXJGQkBHYKIBJ1lxpiTrbUdl72PoE/i1xEaM6fHRxLlDVP7GhEXO2qyZYwpx1lu73AJsNbao2UutcBZ1toKY4wX+NgY86a1dvnxD/cYolsVmMakNL/cPDMsqlSyJdL/zALWGWN24cSlpvg18Sjv6f34dYSVLWMMw1JitaNaxMWOmmxZa4/7SB7/8T4V/r96/T+BPTOndc1Dq2QrS41NRfqzC7r7hj6JX5HxYMJYeuqjAAAgAElEQVQ67KgG/yYfdZEXca2A7ig0xniMMeuAw8C71toVgfy+I80ME6K8pMRGaGYo0g9Za/d09nOs9/V6/DKm0y7y0NLY1OfTGa8ibhTQZMta22itnYxzvM8MY8z49vcYYxYaY1YZY1bl5+ef2BceoeYBnO3T6iIvIl3V6/ELOm3MDE4pRE29j8PltZ28SUSCXa/0yrLWlgCL6WQ531r7kLV2urV2elraCe60OcLKFjjBSitbItJdvRa/4Ig7qpvbP+hRoogrBSzZMsakGWOS/L9HA+cCWwL1fUDbAvl2hqXEcKCkmrqG4D2tQ0SCQ5/ELzjqyhag5swiLhXIplODgceMMR6cpO5Za+1rAfy+IzYFBGdm6LOwr7iKEWlxAR2GiLhe78cvcCaMpfs6vJyRFI0nzOjYMRGXCliyZa3dAEwJ1Od3yhsDYd5jzgyVbInI0fRJ/AJnZauTyaLXE0ZmUrRWtkRcKvjONzwRxhy1izygmaGIBK+oRGeyaDvuOhym9g8irhVayRYcseYhLS6SmAiPiuRFJHhFJ4GvHuo7xilt8hFxr9BLtqKTOi2QN8aQlaKZoYgEsaPtqE6JpbS6ntKq+l4elIicqNBLto7QFBD8M0PVPIhIsDrKjuqs5rpTTRhF3CYEk63OHyOCsyNRXZhFJGg1rWx1MmHM9vfa0rFjIu4TesnWEQrkwekiX9fgI6+8ppcHJSLSBU3tazqZMGalNG3y0cqWiNuEXrIV5a/Z8nVsXprd3IVZM0MRCUJHOXIsOsJDenyk4peIC4VeshWdBNYHdRUdLjX32tLMUESC0VEK5EF1pyJuFXrJ1lG6yA9OjCI8zGhmKCLB6SjxC5y6U00WRdwnBJOtI88Mwz1hDEmOZun2AtbmFmM7aRwoItJnwjwQmdjpbkRwznjNK6vl6c9y1QJCxEVCL9lqqnmoKuj08lVTh7A1r5wr7l/GGb9bwh/e2cr2vPJeHKCIyFFEJ0LB9k67yJ+dM5ARA2L50YufM/2X73LrP1fx2oYDVNc19sFARaSrTDCt7kyfPt2uWrXqxD6k4jD8eRokZcFNb0JUQodbymrqeXvjIV5Zf4BPvizAZyFncAKXTc7g4omDGZIcc2JjEJEuMcasttZO7+tx9IQeiV8AS/4XlvwKzv4JzP23DpettWzcX8bL6/bz6oYD5JXVEhvh4bxxg7h0cgazR6QS5fWc+DhE5Ji6GsNCL9kC2PEBPDkfhp8BX/sXeLxHvDW/vJbXNxzg5fUHWJvrPHrMSIxi4pAkJg1NYtLQRCZkJhIfdeTPEJHjo2SrE9bCi7fC58/BlQ/DxK8e8dZGn+WzXUW8sn4/b3x+iNLqesLDDDmDE5g0NJGJQ5KYPDSJk9Li8ISZEx+biLTRv5MtgDX/hFe+A1O/AZfc6xxSfQy5hVW8uzmP9XtLWL+vpLmQ3hg4KS2OSUOSmJyVxJShSYwdFE+4J/Sewor0JiVbR9BQC09cBbnL4fpFMHzuMd9S1+Dj4y/zWbW7mPX7Stiwt5Ty2gYAYiM8jM9M9MevZKZmJZGeENUzYxXpx5RsAbz/P7D090dcjj+W4so6NuwvdZKvvSWs21tCYWUdANFeDxOGJDJFwUvkuCnZOorqYnjkfKg4BDe/A+lju/V2n8+ys6CyefK4fl8pmw6UUt/oxPzMpOjmyeOUrGTGZSTo8aNINynZgrbL8Vc9AhOuPsGPs+wrrmbt3hLW5hazNreEL44YvJIYl5Go4CVyFEq2jqEkF/52Dngi4ZZ3IX7QCX1cTX0jmw6WsTa3JYbtL6kGwOsxnJyR2By/pgxNZmhKNKYLTwVE+islW00aauHxK2DfSvjGyzDs1B79+NbBa01uMevaB6/BCUzJSmZKllM7kZUSo+Al4qdkqwsOrIV/fAUGjIQb34DIuB79+MNlNazd2xK/Nuwrpbre2d2YGhvRHLumZCUzcYjqV0VaU7LVWlURPHKe0w7im+/CgFE9/x2tNAWvptlj6+CVEhvRMnNU8JJ+TslWF217B55eACPPgWueBk94YL4HaGj0sS2vgrV7i5tj2I58p5GqMTA6Pd6ffDkxbGS6iu+l/1Ky1V7RLmc5PjIOvvkexKUF5ns60dDoY2teOetaJWCtg9eo9DimDE1mWnYy04YlM2JArFa/pF9QstUNq/4Or30fJl0Ls++EtLEBTbpaK62qZ/0+J36t21vM2r0llPibqsZFhjNpaCJTs5z4NSUrmcRoTSClf1Cy1Zl9q+DRrzi/D5oImVMhY6rzZ8pJENZ7uwvbB681uSWUVjvBKyU2ojlwTc9OZkKmar8kNCnZ6qb3/xuW/sH53RvTSRwb0aWd1yfKWsvuwirW5hazzv8IcvPBchp9tnn1a1p2MtOynBim8gkJVUq2jmTfKtj4IhxYAwfXQ73/nMTIRMiY5AStwROdIJYywjk+oxc4O4cqWLW7mNV7nJ+dBc7qV4QnjElDE5k5PJVZI1KZOiyJmIjemdGKBJKSreNQuAP2r4b9a/xxbAM0OHWiRCU6sWvwJBg0wfkZMPqovQZ7SmVtA+v3lrB6TzGr9hSzJreY8hqn9URafCQzh6cwa0Qqs0akcFJanJIvCQlKtrqisQEKtvqD1loncB3aCD7/mWPeGBg4riVoDZoE6TkQ0Tsd5gsralmTW8Kq3UUs31XExv2lNPos4WGGiUMSmTUilZkjUpk+LJnYSCVf4j5KtnpAYwPkb3Hi1/41cGgD5H0BDTXOdU+kE7eaJpGDJjpxrYcL7dvz+SzbD1ewak8RK3cVsXxnEYfKnDENiItg5vBUZo5IYebwVEalxxGmui9xISVbx6uhzknADn3u/Bzc4PxZ6z8Y1oRB6ih/4JrQErxiUwM+tIraBlbtLmLFriKW7yzk832lNPgsnjDD+MxEZg1PYeaIFKYNS1HNhLiCkq0AaWyAwi/9cWx9SyyrLvLfYCD1pJYY1pSIxaUHbEjWWnKLqli+s5AVO50YdqDUSb6SY7zMGJ7SnICNHZSgontxBSVbPclap9/NoQ1tk7CyfS33JGQ6wWroKTBkhlM/EREb0GFV1jawek8xK3YV8tmuItbtLaG+0amZOHlwQnPgmjUiVcmXBCUlW73IWijb32oS6f8pyW25JzGrJYYNPcWJaQF6BNnUt/BTf/L12e5C9hY5j0MTosI5JduZPJ560gBOHpyglS8JSkq2ekNVUUsCdnCD8yiycLtzzXhg0Hh/0PL/JA0LaPFqTX0ja3KL+WxXESt2FrEmt5jaBh+eMMPkoUnMHTWA00enMTEzUUcNSVBQshUEqoud8omD651+hPtWOkkZQHg0ZEzxJ2CnQOY0SMgI2FAOlFQ3Tx5X7CxqrltNjY3gtFEDmDsqjbmjBjBQp3VIkFCy1Veqipwi/H2fwd4VTg1FXYVzLWZA251DGVMD2oKitqGRdbklfPxlAR9ty2fD/lKsdWaNc0Y6geuMMWlkJkUHbAwiR6NkK0iV7vfHMP/PwfUttaxxg5ykK3OK82fGFIhODsgwDpfV8PGXBSzdXsDS7fkUVDjHpY0dFM9cf/I1Y3iKdmtLn1GyFSx8jXB4kz/x8hfh528B63OuJw51glXmNH/gmgyR8QEZSnFlHZ/scBKvpdsLOOivlxg9MI4zx6Rz5pg0pg9LISJcq17SO5RsuUR9jbOCf2BNy07IplV8cHZuZ06DzOnOn4MmgLdnV598PsuWQ+Us3Z7PR9vzWbmrmLpGH9FeD3NGpnLGmHTOHJ3G0JTe2cAkAkq2gltthTNTbNo9dGANFO/2XzROs8LMac7qV+Y0Z+dQD9dNWGv58nAFH27LZ/HWw3y2q4j6RktcZDhzRqYyb0w6Z45JZ1CiluslcJRsuVh1CRxc15J87V8D5Qeca2HhMHB8yyRy6AxIHdmjZRTVdY0s31nIkq2HWbw1n9wip43PyPQ45o1J48wx6ZySrcmjBJaSLbepLGw7a9y/CqoKnWvhUc6Mcdipzs/QGT1efF9R28CyLwtYsi2fJVsON+8SGpeRwNk5Azl7bDoTMhNVpCo9SslWiCk74I9hTT9roa7cuRab5o9hc5w/08f1WCNpay07CypZsjWfJVsPs2JnEXWNPuIiwzl99ADOHjuQeWPTSYmN6JHvE2miZMvtmnZA7l/t1IDlLnNWw6zPmTUOntwSuLJm9mjNhLVOf5wPthzm/c15rN5TjM9CenwkZ41N5+ycgZw2cgDREaqTkBOjZCvE+XxQsA32Loc9y5yf0r3OtahEyJrtxLGsU51GrOE9kwxV1jawbEchH2zJ4/3NhzlcXkuYgalZyZyVk845OQMZla7GqnLilGyFotpyp/arKWjtXw2NTsEo6Sc7gStrNmTNgqShPfa1xZV1LNl2mPc2H+ajrfmU1zYQGR7GGaPTuGRSBmfnpKujvRwXJVv9UEku7PkU9nzixLGm2q/mFXx/DBsyA6ISTvjrfD7LxgOlvL/5MO9vyWPj/jIAhqXGcPHEwVw8MYOxg+KVeMlxUbLVH9RX+1e9lkPup86uoaYl+4QhTsDKmuWsfqWN7ZEl+7oGHyt3F/Hupjze3HiQvLJaor0ezs5J55JJGZwxOk07g6TLlGwJFYf9MWy5fwV/A9hGp4H0wPHOylf2aU4ci0k54a87VFrD+1vyeGvjIZbtKKTRZxmZHsclEzO4eNJgTkoLbGd9CS1KtvojX6NzTEdT8pX7KZQfdK5Fp7QNWgPHn3Dy5fNZVu4u4tUNB3jj80MUVdYRHxnOueMGcsmkDOaOHKB+XnJUSrakg9oKp9dXU/K1d2XL2Y/p4yB7Tkscix1wQl9VUFHLmxsP8dr6A3y2uwhrnYbQl0zK4NLJGWqLI8ekZEv8dV97YPcnzpL97o+dv4O/XuJUGHEmjD7P2bp9AhoafSzbUchrGw7w1sZDlNU0MCAugksmZXDFlEwmZCZqmV46ULIlx9RQ52we2r3UiWV7V0C9s/OQ9JNh1Lkw6nwYOhM8x1/OcKi0htc/P8hrGw6wNrcEgJnDU7hyaiYXThhMQpRO4ZCOlGxJ50r2tiReuz+G4l3O6wNGw6jzYPT5Tt3XCbSaqG1o5MOt+Sxau5/3Nx+mrtHHSWmxXDElk8smZ6oPjjRTsiXd1lDntJzY/THsXOzUffkanAnkSWc7MWzkuSd0Xu3eoipeWrufRWv3s7OgkojwMM7NGcjlUzI5Y3Sa2klIMyVb0jVFO2HbO7D9bSd4NdZBZAKcNA9GX+AErRPocl9aVc8bGw+yaM1+PtvtHII7IzuFBacM5SsTB6u+q59TsiUnrKbMSbq2vQPb34HKw4CBIdOdxGv0hU6vwuNYWbfWsn5fKS+t3c8r6w9QVFlHcoyXyyZn8rWZWYweGJgG1OIeSrak+2orYOcSJ/Ha9g5UHKJt0LrAqfU6zseBe4uqeHndfl5c48wWE6O9XD1tCF+bmaWi1H5KyZb0KJ/PWfXa/g5se8s5rxacDUOjz4cxF0L23OPqbl/f6GPp9nxeXLOfd77Io67Rx4zsFK6blcUF4wcRGa6JY3+kZEtOjLVOX6+moLV/tfN6Qqb/ceMFMOIM8Ha/gNRay/KdRTy5Yg9vf3GI+kbL7BGpfG1mFuePG6Ql+n5EyZYEVHmef/L4NuxYDPWV4I3x16peAGMuOq6V+8KKWp5fvY+nPstlT2EVKbERzJ82hGtnZJE9oGcbTktwU7IlPas8ryXxah20Rp4NYy9xiuyPo7Fqfnktz63ey1MrctlXXM2AuAgWnDKUG2Znk56go4JCnZIt6TX1NbDnY9j6lhPHSvc67SWGzoKci2HsxZA8rFsf6fNZPtlRwFMrcnlnUx6NPsvcUQO4ec5wzhidphM3+gElWxI4DbXOzqAtb8CW153HjWHhzvL82K84QSthcLc+0uezfLQ9nyeW5/L+ljzCwwyXTc7k1rkjGDNIdRGhSsmW9AlrIW8jbH4NNr8Kh79wXh80wZk85lwC6TndKpnIK6vh2ZV7eXJFLofKahiZHsctpw3n8imZqk0NYUq2pHf4fM4jxi2vOoGraIfz+pAZMPGrMO7Kbu8K2lNYyd8/3sWzq/ZRXd/I6aPTWDh3BHNGpqp9RIhRsiVBoWinE7+2vOY0h8Y6bSUmLoAJ8yExs8sfVd/o4/UNB3noo51sOljGgLgIvjE7m6/PGqazGUOQki3pfdZC/lYn8dq4yJkthoU7OxonLXB2BXWjMLW4so4nV+zh0WV7KKioZeygeBaePoJLJmXgVbPUkKBkS4JO+SFntWvDs7DvM8DA8NNh0jXOildk11barbUs21HIw0t3smRrPlHeMK6eNoRb545gWKrqukKFki3pe4c2woZn4PPnnU72kYkw7jJntph1apc72Nc2NPLy2gM8vHQn2w9XkJUSw51njeSKKZlKulxOyZYEtcIdTtK14Rko3g3h0U6pxORrYcRZXY5h2/LK+dvSnby09gCN1nLllEzuPGukkq4QoGRLgoevEXZ9BBv+BZtecYrrk4fD1G/A5OsgfmCXPsZay/ubD/On97fz+f5ShqXGcOc8J+nSsUDupGRLXMFa5/Hihmdg44tQUwJJWTDlGzDl612uUT1cVsMDH+7gyRW5NPosV03N5M55o8hKVaNnt1KyJcGprtKpjVjzT2dnUFi4swV72k1OI9WwYxeSNiVd97y/jY37yxiWGsN3zhrF5ZMzlHS5jJItcZ2GWqe2a/VjsOtDMB6nh9e0G2HkOV2KYXllNTywZAdPfZaLz2e5auoQ7jxrpE7XcCElWxL8CrbDmsdg3dNQVQCJQ2HK9TD1ekjIOObbrbW8t/kw97y3jS8OlJGdGsP3zhnNpZMytOXaJZRsiasV7oC1j8PaJ6Ay3+lDOOV6mH4TxA865tvbJ11XTxvC984ZzaBEtb1xCyVb4h4NdbD1dWemuHOxM1McdznM+jYMmXbMt1treXdTHve8t51NB8uYOCSR/7ooh5kjjv9sNOkdSrYkJDTUwbY3nRi24wNnxX7CfJh9h9NO4hgOldbwwJIvefqzvXjCDLeePoJvnT6C2MjjP1hbeoeSLXGnol2w8m/OY8baMqfh4Ow7nN5dx1ie9/ksL6/fz2/f2srB0hrOO3kgd184lhE6CihoKdmSkFO4A1b81Vntqq9ydjLOvtPZlX2Mgvrcwir+9+0tvL7hIGnxkfzbuaOZP30oHq3UBy0lW+JuNWWw7klY/gCU7HGKUWfe5izRRyUc/a31jTzy8S7uX/wltQ0+vj5rGHedPUo9boKQki0JWdXFsPpRWPEQlB+A1FEw63aYdC1EHL02a/WeYn75+ibW5JYwZmA8//mVHM4Y3f1jhSTw+jzZMsYMBf4JDAQs8JC19k9He4+ClXTga3S61C+/H3I/hYh4mLnQmSnGpBz1rfnltdzz3jae/iyX2Mhw7pw3kpvmDNfZi0EkWJMtxS/pMY31sOll+PQvzsHYsWkw53sw/eajJl3WWt74/BC/eWsze4uqOX10Gj+5OIeR6TpRI5gEQ7I1GBhsrV1jjIkHVgOXW2s3Hek9ClZyVPtXwyf3wqaX/EnXt2D2t4+ZdG3PK+dXb2xm8dZ8xgyM5zdXTWBKVvfPcZSeF8TJluKX9CxrYc8y+Oi3sHMJxKbDad9zdmIfJemqbWjk8U/3cO/726mp93HHvJO4/cyTiAzXEUDBoM+TrQ5fZMzLwF+ste8e6R4FK+mSvE3w4f92O+l6d1MeP35pI3nlNdx4ajY/OG+MClD7WLAmW+0pfkmP2rMMlvzGaR0RN9C/0nUTeKOP+JaCilr++9VNvLL+AKPS4/jNVROZNkyTxr4WVMmWMSYb+AgYb60tO9J9ClbSLXlfwIe/bUm6Zt0Gs+44atJVXlPPb9/ayuPL95CZFM0vrhjPvDHpvThoac0NyZbilwTMnmWw5NdO0+e4gXDa953Hi+GRR3zL4i2H+a9Fn3OwrIZvzBrGDy8YS5wmjX0maJItY0wc8CHwS2vti51cXwgsBMjKypq2Z8+egI5HQlDeF/6VrpchKhFO/3eYcetRA9aq3UXc/eLnfHm4gssnZ/Dji08mNe7I90tgBHuypfglvWL3J07StXspJGfDOT+Dky8H0/kuxIraBn7/9lYe+3Q3gxKi+MXl4zk7p2sncUjPCopkyxjjBV4D3rbW/vFY92tmKCfk0EZ49yew4/0uBazahkbuX7yD+5d8SVxkOD+/bDyXTjp2M1XpOcGcbCl+Sa/78n1458dw+AsYOhPO+yUMPeWIt6/JLebuFzawLa+CSydl8D+XjScxxtuLA5auxrCAbcsyxhjgEWBzVwKVyAkbNB6ufxG+/gJ4Y+G5G+GR85wzzToRGe7h++eO5vW75jIsNZa7nl7LD55bT2VtQ++OW4KO4pf0iZFnw21L4ZJ7nYOvHzkHnrvJ+b0TU7OSee07c/l/547mjc8PctG9S1m5u6hXhyxdE8g98HOA64GzjDHr/D8XBfD7RBwjz3EC1qV/dnp0PXKuk3gV7er09tED43n+ttncddZIXlyzj4v//DGf7yvt3TFLsFH8kr4R5oFpN8B31jglEVvfhL+c4qx41XSMSxHhYdx19iheuP1Uwj2GBQ9+yv+9u42GRl8fDF6ORE1NJbTVVsCyP8Oye8HXAHN/4Gy3PkI914qdhXzvX+soqKjlh+eP4ZbTRuicxQAK5seI3aX4JQFRuh8++AWsf9opor/od5BzSaflERW1Dfzk5Y28uGY/04clc881kxmSrMOtA6nPHyOKBIXIOJj3I2eWmHMJLPkV/PU0ZxdQJ2aOSOXN787l7LED+dUbW7jhH59xuLymlwctIuKXmAlXPAC3fgBxafDs9fDMdU4S1k5cZDh//Opk/nTNZLYcKufCPy3l9Q0H+2DQ0p6SLekfEgbD1X+H616Ahhr4x4Xw6nehuqTDrUkxETzw9an88orxrNxdxIX3LGXxlsN9MGgREb/MqXDrYjj3v53Dru+bCZ897Jyy0c5lkzN54665nJQWx7efWsN/PL+BqjrVovYlJVvSv4w6B+5YDqd+xzns+r4Z8MUip7tzK8YYrps5jFfvPI20+EhuenQlf3xnKz5f8Dx2F5F+xuOFOd+FOz6FIdPhjR/A3893Gj23k5Uaw3O3zebb807i2dV7ufL+ZewprOyDQQso2ZL+KCIWzvuFM0uMH+wUzz+1AEr2drh11MB4Xvr2HOZPG8K9H3zJNx9bSWlVfe+PWUSkScpwuH4RXPEQFO2EB+c6dV0NdW1u83rC+OH5Y3nsphkcLK3hkj9/zOKtWqXvC0q2pP/KmAy3vA/n/xp2fwwPzIHPn+9wW5TXw2+vnsj/XD6ej78s4NL7PmbLoSM2EhcRCTxjYNIC+PZKmDAfPvqds/O6YHuHW08fncZr3zmNzOQYbn50JX9+f7tW6XuZki3p3zzhMPsOuP0TSB8LL3wTXri1Qy2XMYbrZw3jmYWzqK5r5Ir7lvHq+gN9NGgREb/YVLjir7DgCafVzYOnw6p/dCiNGJoSw4u3n8plkzL4w7vb+NYTqymv0Sp9b1GyJQLOsvyNb8C8/4KNLzg7Fnd/0uG2acNSeO07pzEuI4HvPL2WX76+Sf1sRKTv5VwCt38KQ2fAa99zdixWFrS5JTrCw/8tmMxPLj6ZD7Yc5rL7PuHLw+V9NOD+RcmWSBNPOJzx7/DNd51C1Ee/Au/9rEMdRHpCFE/dOotvzB7Gw0t38Y2/f0ZRZV3nnyki0lsSBsPXF8H5v4Iv34UHToUv32tzizGGm08bzpO3zKSsup7L/vIJb39xqI8G3H8o2RJpb8g0+NZSmHo9fPx/zpEZ+dva3BIRHsZ/Xzae38+fxKo9xVxx/yfszK/oowGLiPiFhcHsbzt9uaJT4Imr4M3/gPq2/QJnjUjl1e+cxsiB8dz2xGoe+mgHwdTkPNQo2RLpTGScc9zPgiedXYoPng4bnutw29XThvDMwllU1DRw5QPLdC6ZiASHQRNg4WKYeRus+Cv844IOO64HJ0bzr4WzuGj8YH71xhZ+/PJGlUUEiJItkaPJudjpaZMxBV68xZkhNrYtKp2alcyiO+aQEhvBdQ+v4OV1HTs7i4j0Om80XPi/cM3TULgDHjoDdi5pc0uU18Ofr53CbWecxBPLc7n1n6uoqFUD1J6mZEvkWOIHwQ2vwKw7nBniY5dCeV6bW7JSnZ0+k7OS+O4z67hv8ZdakheR4DD2IuexYmwaPH4FfPKnNrsVw8IMd184ll9dMYGPthfw1b9+yqFSHVPWk5RsiXSFxwsX/BquegQOrnMeK+auaHNLUkwEj39zBpdPzuB3b2/l7hc+p15L8iISDAaMglvec3YtvvsTeO4GqG27E/FrM7N45Ibp7Cms5PL7PmHzQfUT7ClKtkS6Y8LVTsDyRsOjF8GKh9rMECPDna3Vd501kn+t2svNj66kTL1sRCQYRMbD/Mfg3P+Bza/C387p0AT1zDHpPHfbqQDM/+unfLgtvy9GGnKUbIl018BxsHAJjDwH3vwhLPoW1FU1XzbG8P/OG8Nvr57IpzsKtSQvIsHDGJhzF1z/ElTmw8NnwZY32txyckYCi759KkNTnI7zz67seJSZdI+SLZHjEZ3kFJ2e+Z+w4Vlnp0/pvja3fHX6UB69aQb7iqu58v5P2J6n5oEiEiRGnAELP4TUk+CZa53jflqt0g9OjOa522YzZ+QA/v2FDdz7/nbVoZ4AJVsixyssDM78D7j2GSjcCQ/Ng70r29xy2qgB/Otbs6j3Wa7+66dqDSEiwSNpKNz0Jkz4qnOQ9QvfhPrq5stxkeE8csN0rpyayR/f3cZ/vbSRRp2peFyUbImcqDEXwC3vQkSMU8e17uk2l8dlJPLi7aeSGhfB1/+2grc2qluziAQJbzRc+RCc/VPY+CL840Ioazn31esJ4w/zJ3H7mSfx1IpcbntiNTX1jX04YHdSsiXSE9Jz4DMRyBIAABNmSURBVNbFMHQmvHQbvPP/ga8lIA1NieH5207l5IwE7nhyNY8v39OHgxURacUYmPv/4JqnnIL5h+bBvtWtLhv+44Kx/PzScby3OY/r/raCkiodUdYdSrZEekpMCly/CE65FZb9GZ5aADWlzZdTYiN46pZZzBuTzo9f2sjv396qGggRCR5jL4JvvgPhEc4KV7tTM244NZv7vjaVz/eXctUDy9hXXHWED5L2lGyJ9CSPF77ye7j4/2DnYmdrdeGO5svRER4evH4a15wylL8s/pJ/f36DenGJSPAYOM5ZpR8y3Tk1472fg68lRl00YTCP3zyDw+W1XHn/MjYdUC+urlCyJRII02+Gb7wMlQXO1updS5svhXvC+PWVE/ju2aN4bvU+bnlsFZU6HkNEgkXsAKc1xNQb4OM/wnPfaNPeZuaIVJ6/7VTCjGHBg5/yyZcFfThYd1CyJRIo2ac5B8HGDYTHL4e1TzRfMsbw/XNH8+srJ/DxlwUseOhTDperF5eIBInwCLjkT3D+r2Hza87mn/KWzT1jBsXz4h2nMjgpihv/8RkvrdWZsEejZEskkJKznRqI7Lnw8rc7LMlfOyOLh78xjR2HK7ny/mXsyK/ou7GKiLRmDMy+wymcz98KD58NeV80X85Iiua5205l2rBkvvevddy/RGfCHomSLZFAi06C656DaTc6S/LP39hmSf6ssQN5ZuEsqusaueqBZazeo15cIhJExl7k9OOyjfDI+bD9veZLidFeHrt5BpdMyuC3b23lxy+rF1dnlGyJ9AaPFy6+B877JWx6BR67GMrzmi9PGprEi3ecSnJMBF97WL24RCTIZEyGW953Vuufmg8r/9Z8KTLcw58WTOZbZ4zgieVOL67qOvXiak3JlkhvMQZOvROueRIOb4a/tV2SH5Yay/O3zebkjARuf3I1jy3b3XdjFRFpLzETbn4TRp4Lr/8bvPWfzf0Ew8IMP7owp7kX19f+tpyiSvXiaqJkS6S3jf2KsyTva3CW5Le+1XwpNS6Sp26ZxTk5A/npK1/wi9c20aDWECISLCLj4dqnYeZtsPw+eOZrbfoJ3nBqNg9cN5VNB8q48v5P+PKwzoQFJVsifaNpST51BDx9DXz4u+bC+egID3/9+jRumD2Mv328i68/soL88to+HrCIiF+YBy78X7jo97D9XaefYMH25ssXjB/Mk7fMpKK2gUv/8gmvbThwlA/rH5RsifSVxEy4+W2Y+FVY/Aunl02tMwv0hBl+ftl4fj9/EmtzS7j4z0tVOC8iwWXGrU4/wapCp5/gtneaL03PTuG178xl7KB47nxqLT9/9Yt+3cBZyZZIX/JGwxUPwvm/gi1vdOg4f/W0ISy6Yw5RXg8LHlzOPz7Zpa3VIhI8hs+FhUsgeRg89VVY+gfwx6hBiVE8s3A2N56azT8+2c21Dy0nr6x/9hNUsiXS14yB2d+G61+EisPw8Lw2W6tPzkjglTtP48wxafz81U3c9cw6dZwXkeCRlAU3vwPjr4T3/xueuxHqKgGICA/jZ5eO495rp7DpYBlfufdjlu8s7Nvx9gElWyLBYsSZzgwxMQuevBqW/rF5hvj/t3f3wVXVdx7H39883DyQQBJgSQg0URAqIFKMDxBU2i1o7fpQtaOr4sNabXdYp611p7rb7tbObLd2ZnVnq1Vp7YrVdtUqYh92xodiWASFiMijVgIRCEKEGyJwAwnJb//4nYSIihebk3Mu+bxmztyTcw83nxyTr9/7u+f8zpCCXObNqeEfzxvPH1Zv55L7XmZjsyZAFZGYSBTCZQ/BrB/ChmfhodnQ0tjz9EWnjuSZubUMLsjh6l+8yrzFDQNqlF7NlkiclFb5GecnXQov3gmPX+Pvr4i/tHru58fyyN+dye797Vx87xJ+taxREwiKSDyYQe03/STOrVth3kxYv7Dn6XEjilk4t5bzJo7gR398k+v/ewVbk6mPf73jiJotkbjpfoc4+9/g7efgZ2fBht/1PD3jpGH8/pYZTPlMCd9fuI7L7l/K+u3vRxhYRKSXsV+EmxZBSRU8cS089TVoawGgOD+X+66ayp0XTaS+Mcmse+p4oK7huD95Xs2WSBx1T4B6cx0UV/gRrqdu6ilYI0sKePTGM7nnilPZkkxx4b1L+Pc/biDVrnO5RCQGho6Br70AM/8J1i2An03z00QAZsZ106t54Tvncu644fz4f9/kwp8u4bV3WiIOHR41WyJxNmIC3PQnmHkHrHsa7jur5/JqM+MrnxvFi7eey+VTR/Hg4k3Mvmcxi95sjji0iAj+NmUzv+vnFMwv8eeiPnsLHPAj8RVDCnhwTg3z5pxGa1sHlz+wlO89s4bWto6Ig/c9NVsicZedCzNv9wWrsMzfl2zh3J5Zm0sHJbjr8sk88fVp5Odmc8PDK5j72ErebW2LOLiICH4S56/XwYxvw+uPwv21sHlxz9OzJ5bz/K3ncsP0E/j1q1v44t11LFzVdFydj2pxuhqgpqbG1dfXRx1DJL4OHYSXfgwv/ycUj/RN2KlX+oYMaD/UxbzFDfzXnzbS1eU4b1I510+vpqaqFDOLOPyHmdlrzrmaqHP0BdUvkTRsXQ4LvgHJBjj1KjjnNv+RY2BtUyt3PL2GNU2tVJYUMGdaFVfUjKZ0UCLC0B8v3RqmZkskE22rhz/cCu++4ee4mfFtmHI15OQBsDWZ4pFljTy+YivvHzjEhIrBXD+9moumjCQ/Nzva7L2o2RIZgNpT8NKPYPnPobMdTvkqnH0bDB8HQGeX4/n1O5m/tJFlm3aTl5PFxVNGct30aiaOHBJx+A9SsyVyvHPOn3Badxc01cPgSn/Z9dRr/cz0QKr9EM+8vp35Sxt5a+deSgpzueL00VxzZhWjywoj/gHUbIkMaHt3wrKfwoqHoKPNT3lz9m3+XNXAWzv2Mn9ZIwtWNtHW0cnp1aVcO62aWRNGxOKNo5otkYHCOdi0yN/MestSKBoB02+B026AvKJgF8crm5LMX9rIc+t30OVg3IgiascOY8bYYZxxQhnF+bn9Hl3Nloiwfxcsu9ePdLXvg5Mv9E3XyCk9u7SmOnjyta08suwdtiRT5OVkUVNd2lPDJo4cQnZW/58qoWZLZCBqXAJ1P4HNdZBbCOPOg4mXwkmzeka7mva08eyq7Sxt2MXyzUkOHuoiO8uYMrqE2jFDqR07jImVQyjKywk9rpotEemRSsIr98OrD8DB92H4yTDpMj/iFZzX1dnlWLJxF3VvvcfShl28uWMvAIPzc5g+Zhi1Y4dSU11G1dBCChPxqWFqtkSOR9vqYdWv/ezNqV2QKILxF/iiNeYLPed2HejoZOU7LbzcsIslG3ezZtseui8AKhuU4DNlhYeXof6xsqSAskEJChPZf/FJ92q2RORD2vbA6if8dDdblvltFVN8/Zp4KZSM7tm1ee8BljXs5uWNu3h5426a9hy+CntYUR5VQd0aXVZIVfA4rChB2aAEg/NzyfoLR8PUbIkIdB6Cxv/zRWvD7/ykqHlDYPz5UHkalJ8CIyZCvj/ptLWtg+Wbk2xs3seWZIotyf1sSabYvufAhy7DTuRkUVaYoKQwl7JBCUoLE5QOyuXLp4xk2pihacVTsyUiR9W6zU+KuvZp2L7Sbxt9JlSf7etXxWQoqYasLJxzNO5Osaapla3JFFt2p4I6lmJ7axtHtjtZBiWFCUoLc4P6leCz5cV8Z/b4tOOlW8PCH2MTkehk58CYz/vly3fDppdg7VP+NkCrHz+8X0kVlJ/CkPLJzCqfxKzxo6BwKBSMgUQhHZ1dbN/TFjRebbSkOmhJtdOyv53k/g72pNrZsON9Wva3c3LF4LSbLRGRoxoyyp+DOv0WSG7yTdf6hbDkHnCdfp9EMZRPwspP4YTyyZwwbBxUlkFBJRSUQFY27Ye6aApqWHL/QVr2BzUs1d6zvjWZIqyzvjSyJTIQOQd7d8CONbBjNexc69d3NwBH1IScfCgo8xOqFpT6Ja/YfzSZVxQ8FkNikF+vmAyl1WnF0MiWiHwqHQegeX1Qw4I6tmMtdOw/YkfzI/eFZYfrWF5xrxpW/MF6VlQO1bVpx9DIloh8PDMYXOGXcbMPbz+4D5o3wL4d/mTVtqR/7L2+689+v/a9/rH73WW38++Cs77Rvz+PiAwsuflQOdUv3bq6oGUzJDcfrldHPu5r9m8qD+71Vz52pD74uhXBbPd9TM2WiByWVwSjT09/f+fg0IGg+QqWohHh5RMR+ThZWf6qxV4z0n+izkO+bnU3XyF9kBhas2VmvwT+Bmh2zk0K6/uISITM/JQSuQXA8KjT9CnVMJEBIDvHn9dVUBLqtwnzRtQPA+eH+PoiImF6GNUwEekDoTVbzrnFQDKs1xcRCZNqmIj0lTBHtkREREQGvMibLTO72czqzaz+vffeizqOiEjaVL9EJB2RN1vOuXnOuRrnXM3w4cfXCbYicnxT/RKRdETebImIiIgcz0JrtszsN8AyYLyZbTOzG8P6XiIifU01TET6SmjzbDnn/jas1xYRCZtqmIj0FX2MKCIiIhIiNVsiIiIiITLnXNQZepjZe8A7ae4+DNgVYpxPQ5nSF8dcypSevsxU5Zw7Li7jOw7qF8QzlzKlR5nS1+81LFbN1rEws3rnXE3UOXpTpvTFMZcypSeOmTJNXI9hHHMpU3qUKX1R5NLHiCIiIiIhUrMlIiIiEqJMbrbmRR3gIyhT+uKYS5nSE8dMmSauxzCOuZQpPcqUvn7PlbHnbImIiIhkgkwe2RIRERGJvYxstszsfDN7y8w2mtntUecBMLNGM1tjZqvMrD6iDL80s2YzW9trW5mZPW9mbwePpTHI9AMzawqO1Sozu6CfM402s0Vmtt7M1pnZN4PtkR2ro2SK+ljlm9lyM3sjyHVnsP0EM3s1+Bt83MwS/Zkrk6l+HTWHalh6mVTD0ssUn/rlnMuoBcgGGoATgQTwBjAhBrkagWERZzgHmAqs7bXtJ8DtwfrtwF0xyPQD4LYIj1MFMDVYLwb+DEyI8lgdJVPUx8qAomA9F3gVOAt4Argy2P4A8PdRZcykRfXrE3OohqWXSTUsvUyxqV+ZOLJ1BrDRObfJOdcO/A9wccSZYsE5txhIHrH5YmB+sD4fuCQGmSLlnHvXObcyWN8LbAAqifBYHSVTpJy3L/gyN1gc8AXgt8H2fv+9ymCqX0ehGpYe1bC0M8WmfmVis1UJbO319TZi8D8l/H/A58zsNTO7OeowvYxwzr0brO8ARkQZppd/MLPVwRB9v34s0JuZVQOfw7/jicWxOiITRHyszCzbzFYBzcDz+JGZPc65Q8EucfkbzASqX8cuFn+XH0E1LL1MEOGxikv9ysRmK65mOOemAl8C5prZOVEHOpLzY6ZxuPz0fmAMMAV4F/iPKEKYWRHwFPAt59z7vZ+L6lh9RKbIj5VzrtM5NwUYhR+Z+Wx/Z5DQxb5+gWrYkVTDPllc6lcmNltNwOheX48KtkXKOdcUPDYDC/D/UeNgp5lVAASPzRHnwTm3M/gD6AJ+TgTHysxy8QXhMefc08HmSI/VR2WKw7Hq5pzbAywCpgElZpYTPBWLv8EMofp17FTDPoJq2LGJun5lYrO1AjgpuJogAVwJPBtlIDMbZGbF3evAbGDt0f9Vv3kWuC5Yvw5YGGEWoKcIdPsK/XyszMyAh4ANzrm7ez0V2bH6uEwxOFbDzawkWC8AZuHPxVgEXB7sFovfqwyh+nXsVMM+/P1Vw9LLFJ/6FfYZ+GEswAX4Kx0agH+OQZ4T8VcVvQGsiyoT8Bv8MG0H/nPoG4GhwIvA28ALQFkMMv0KWAOsxheHin7ONAM/vL4aWBUsF0R5rI6SKepjNRl4Pfj+a4F/CbafCCwHNgJPAnn9mSuTF9Wvo2ZRDUsvk2pYepliU780g7yIiIhIiDLxY0QRERGRjKFmS0RERCREarZEREREQqRmS0RERCREarZEREREQqRmSzKCmc00s99HnUNE5FipfomaLREREZEQqdmSPmVm15jZcjNbZWYPBjcB3Wdm95jZOjN70cyGB/tOMbNXghuULui+QamZjTWzF8zsDTNbaWZjgpcvMrPfmtmbZvZYMGOxiEifUP2SsKjZkj5jZicDVwC1zt/4sxO4GhgE1DvnJgJ1wL8G/+QR4LvOucn4GYa7tz8G3OecOxWYjp+9Gfxd5L8FTMDPAFwb+g8lIgOC6peEKeeTdxFJ218DpwErgjdtBfgboXYBjwf7PAo8bWZDgBLnXF2wfT7wZHCPtkrn3AIA59wBgOD1ljvntgVfrwKqgSXh/1giMgCofklo1GxJXzJgvnPujg9sNPv+Eft92ntEHey13ol+f0Wk76h+SWj0MaL0pReBy83srwDMrMzMqvC/Z913WL8KWOKcawVazOzsYPscoM45txfYZmaXBK+RZ2aF/fpTiMhApPoloVFnLX3GObfezL4HPGdmWUAHMBfYD5wRPNeMPy8C4DrggaAYbQJuCLbPAR40sx8Gr/HVfvwxRGQAUv2SMJlzn3ZEVCQ9ZrbPOVcUdQ4RkWOl+iV9QR8jioiIiIRII1siIiIiIdLIloiIiEiI1GyJiIiIhEjNloiIiEiI1GyJiIiIhEjNloiIiEiI1GyJiIiIhOj/Aa7mYDV/wt5FAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 720x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot_curves(history, metrics):\n",
    "    nrows = 1\n",
    "    ncols = 2\n",
    "    fig = plt.figure(figsize=(10, 5))\n",
    "\n",
    "    for idx, key in enumerate(metrics):  \n",
    "        ax = fig.add_subplot(nrows, ncols, idx+1)\n",
    "        plt.plot(history.history[key])\n",
    "        plt.plot(history.history['val_{}'.format(key)])\n",
    "        plt.title('model {}'.format(key))\n",
    "        plt.ylabel(key)\n",
    "        plt.xlabel('epoch')\n",
    "        plt.legend(['train', 'validation'], loc='upper left');  \n",
    "        \n",
    "plot_curves(history, ['loss', 'mse'])\n",
    "\n",
    "# Print .001"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "CONVERGENCE!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Copyright 2020 Google Inc.\n",
    "Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at\n",
    "http://www.apache.org/licenses/LICENSE-2.0\n",
    "Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License."
   ]
  }
 ],
 "metadata": {
  "colab": {
   "collapsed_sections": [],
   "name": "Basic Feature Engineering in Keras.ipynb",
   "provenance": [],
   "toc_visible": true
  },
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
